我有一个只包含一个UILabel的UIView。该UILabel用于显示可能具有不同长度的一些信息。我使用[label.text sizeWithFont:label.font constrainedToSize:label.bounds.size lineBreakMode:label.lineBreakMode]
方法计算UILabel的高度。但是如何根据UILabel的高度来调整UIView的高度呢?
答案 0 :(得分:2)
[label.superview setFrame:label.frame];
原则上应该这样做。您可能需要添加更多逻辑并构建一些边距/填充。意味着您必须将self.frame拆分为坐标,添加一些偏移并使用CGFrameMake从中创建一个新帧并将其分配给超视图帧。
[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.然后它为标签周围的某些边缘增加了空间,假设左边距和右边距相同,上边距和下边距也相同。