Xcode:如何添加边距/填充标签文本?

我有一个文字标签:

在这里输入图像说明

但是,我希望它有更多的填充(如果可能的话边缘稍微圆润)。 但是,当我在故事板中拉伸标签,使其看起来有填充,然后重新启动模拟器时,它不会添加填充。

我将如何做到这一点? 顺便说一句,我正在使用自动布局+目标c

如果你想走布局约束路线,这可能是适合你的解决scheme:

您应该使用容器视图并将标签放置在该视图中。 然后为标签添加约束,这将相当于填充。

在这里输入图像说明

select标签,然后单击故事板文件右下方的约束面板。

标签对容器视图的约束

select标签后,应用如上所示的布局约束(确保select红色“线条”,以便实际应用约束)。

最终结果

橙色视图是容器视图。 标签就在里面。

您可以添加保证金

yourLabel.frame = CGRectMake(0,0,100,100) 

你需要重写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)]; } 

如果你想添加圆angular,你需要:

 label.layer.cornerRadius = 15.0f; label.layer.masksToBounds = YES; 

你可以在故事板上添加圆angular,select你的UILabel(或者任何视图),然后去检查员,在身份检查员部分添加一个值,如图所示。

在这里输入图像说明

要使用背景颜色(左右alignment文本)更改标签上的填充,首先select标签,然后在顶部的属性检查器中select标签,然后在下拉菜单中将文本从“普通”更改为“已分配”

select文本的alignment方式(在本例中它右alignment) 单击最右边的3点菜单button打开其他设置,并将文本方向从自然向右改为向左

标签中的文本现在应该在右侧有一点填充