使背景UILabel更大

时间:2015-05-20 07:49:01

标签: ios label iboutlet

我的应用程序中有一个问题我有一个数字标签(IBOutlet)。当我写self.numberLabel.backgroundColor = [UIColor redColor];显示红色适合数字的高度时,我想要的是让背景更大一些。感谢

3 个答案:

答案 0 :(得分:0)

您必须在Interface Builder / Storyboard中设置约束以修复标签高度/宽度 如果您的标签内容的宽度发生变化,您可以使用它来计算一个新的宽度,剩下一点空间:

float labelWidth =
    [self.myLabel.text
     boundingRectWithSize:self.myLabel.frame.size
     options:NSStringDrawingUsesLineFragmentOrigin
     attributes:@{ NSFontAttributeName:self.myLabel.font }
     context:nil]
    .size.width;

    CGRect rect = self.myLabel.bounds;
    rect.size.width = labelWidth + 15.0f; //replace 15.0F with the value you want
    [self.myLabel setBounds:rect];

答案 1 :(得分:0)

self.numberLabel.frame = CGRectMake(self.numberLabel.frame.origin.x, self.numberLabel.frame.origin.y, widht, newHeight);

并确保字体在需要时保持相同的大小

[self.numberLabel setFont:[UIFont systemFontOfSize:35]];

答案 2 :(得分:0)

有很多方法可以给猫皮...在我的情况下,“ uilabel”的内容决定了猫的大小。我只希望背景稍大-垂直5点,水平7点。所以我用自动布局来解决它。

  1. uilabel作为背景的子视图添加到uiview
  2. uilabeluiview之间的IB中添加约束
  3. uiview及其超级视图之间的IB中添加约束

enter image description here

Background uiview

Label