我有以下设置:UIView
包含UILabel
和UIButton
。 UIButton
具有固定的维度(它并不重要)。但是,UILabel
受到视图边界的限制。
我希望能够设置UIView
的宽度,并且它应自动调整大小以使其高度允许整个标签内容可见。
我尝试了以下内容:
self.view.frame = CGRectMake(0, 0, desiredWidth, 0);
CGSize fittingSize = [self.view systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
self.view.frame = CGRectMake(0, 0, fittingSize.width, fittingSize.height);
但这会改变视图的高度和宽度,而不会将宽度保持在所需的值。
有一种优雅的方法吗?
提前感谢您的帮助吗?
答案 0 :(得分:0)
在AutoLayout中,您需要为超视图添加视图的宽度,顶部,底部,前(左)和/或后(右)约束,并至少为顶部和/或底部约束声明属性。添加上述约束后,您可以通过调整顶部和/或底部约束常量值来更改视图的高度。
以下是“自动布局指南”的链接。