如何调整UIlabel

时间:2015-01-27 18:32:12

标签: ios objective-c uilabel

我在如何根据标签文字调整标签高度时阅读了这个答案:    Vertically align text to top within a UILabel

这是我的代码尝试设置新文本并同时调整标签。

但我发现标签的高度永远不会改变。它的方式保持在我在xib文件中设置的值。我使用工具Spark来检查标签的高度:

-(void) setNewText(NSString *)newText
{
     self.myLabel.text = newText;
     self.myLabel.numberOfLines = 0;
     [self.myLabel sizeToFit];
     [self setNeedsLayout];
}

你能告诉我我的代码有什么问题吗?

谢谢。

更新:

我试过@rdelmar建议。将标签的宽度约束和行的数量设置为0. ui标签的高度确实会调整。但是在文本的第一行/最后一行之前和之后有额外的间距。

enter image description here 这是我使用Spark捕获的屏幕截图。蓝色矩形是UILabel。如您所见,在第一行/最后一行之前/之后有额外的间距。如何删除这些间距?

1 个答案:

答案 0 :(得分:1)

您无需在代码中执行任何操作即可使标签调整其高度。在xib或storyboard中,给出标签约束以设置其位置,并为其赋予固定的宽度约束。不要设置它的高度。将numberOfLines设置为0,这就是你需要做的。如果您使用太长而不适合一行的字符串设置文本,标签将自动调整其高度。