0

我有一个只包含一个 UILabel 的 UIView。此 UILabel 用于显示一些可能具有不同长度的信息。[label.text sizeWithFont:label.font constrainedToSize:label.bounds.size lineBreakMode:label.lineBreakMode]我使用方法计算 UILabel 的高度。但是如何根据 UILabel 的高度来调整 UIView 的高度呢?

4

1 回答 1

2
[label.superview setFrame:label.frame];

原则上应该这样做。您可能想要添加更多逻辑并在其中构建一些边距/填充。这意味着您必须将 self.frame 拆分为坐标,添加一些偏移量并使用 CGFrameMake 从它创建一个新框架并将其分配给 superviews 框架。

[label.superview setFrame: CGFrameMake(0, 0, label.frame.size.width + 2*label.frame.origin.x, label.frame.size.height + 2*label.frame.origin.y)];

把第二个当作一个建议。它将原点设置为 0,因为标签的框架可能不为 0。然后假设左边距和右边距相同并且上边距和下边距相同,它会在标签周围增加一些边距空间.

于 2013-04-29T07:29:42.037 回答