我有一个带文字的标签:
但是,我希望它有更多的填充(如果可能的话,边缘要有点圆)。但是,当我在故事板中拉伸标签以使其看起来有填充,然后我重新启动模拟器时,它不会添加填充。
我该怎么做?顺便说一句,我正在使用自动布局+目标c
答案 0 :(得分:14)
如果你想走布局约束路线,这可能是适合你的解决方案:
您应该使用容器视图并将标签放在其中。然后为标签添加约束,这将等同于填充。
选择标签,然后单击Storyboard文件右下角的约束面板。
选择标签后,应用如上所示的布局约束(确保选择红色"线条"以便实际应用约束)。
橙色视图是容器视图。标签就在其中。
答案 1 :(得分:2)
您可以使用
添加保证金yourLabel.frame = CGRectMake(0,0,100,100)
答案 2 :(得分:2)
您需要覆盖UILabel的drawRect方法
示例代码:
#import "OCPaddedLabel.h"
#define PAD 10.0f
#define PAD_VERT 6.0f
@implementation OCPaddedLabel
- (void)drawTextInRect:(CGRect)rect {
UIEdgeInsets insets = {PAD_VERT, PAD, PAD_VERT, PAD};
[super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}
如果您想添加圆角,则需要:
label.layer.cornerRadius = 15.0f;
label.layer.masksToBounds = YES;
答案 3 :(得分:2)
答案 4 :(得分:2)
要更改带有背景颜色的标签上的填充,其中文本向左或向右对齐,请先选择标签,然后在顶部and change text from Plain to Attributed in the dropdown menu 的属性检查器中
选择文本的对齐方式(在此示例中右对齐)click on the 3 dot menu button to the far right to open additional settings and change Text-Direction from Natural to Right To Left
标签中的文字现在应该在右侧有一些填充