我需要创建一个带有背景色的UILabel
,我想添加一些左/右前/后水平填充。
但是我发现的每个解决方案似乎都是一个讨厌的黑客。
从iOS 5开始实现此目标的“标准”方法是什么?
屏幕截图说明了我的情况:
最佳答案
有关可用解决方案的完整列表,请参见以下答案: UILabel text margin
尝试对UILabel进行子类化,就像@Tommy Herbert在[此问题] [1]的答案中建议的那样。复制并粘贴以方便您:
我通过子类化UILabel并覆盖了drawTextInRect来解决了这个问题:
- (void)drawTextInRect:(CGRect)rect {
UIEdgeInsets insets = {0, 5, 0, 5};
[super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}