ios xib 初始化高度_ios – 如何根据XIB中的子视图大小调整超视图的高度?

使用自动布局,您需要执行以下操作:

>确保您没有为任何子视图添加固定宽度和/或高度约束(取决于您想要动态调整的尺寸).我们的想法是让每个子视图的内在内容大小决定子视图的高度. UILabels带有4个自动隐式约束,它们(小于所需优先级)尝试将标签的框架保持在适合所有文本所需的确切大小.

>确保每个标签的边缘严格连接(具有必需的优先级约束)到彼此的边缘及其超视图.你想确保如果你想象其中一个标签的大小增加,这将迫使其他标签为它腾出空间,最重要的是迫使superview扩展.

>仅向超级视图添加约束以设置其位置,而不是大小(至少不是您想要动态调整大小的维度).请记住,如果正确设置内部约束,其大小将由所有子视图的大小决定,因为它的边缘以某种方式连接到它们的边缘.

>确保在应用任何约束之前将视图的translatesAutoresizingMaskIntoConstraints属性值更改为NO.

而已.您不需要调用sizeToFit或systemLayoutSizeFittingSize:来使其工作,只需加载您的视图并设置文本即可.系统布局引擎将为您进行计算以解决您的约束. (如果有的话,你可能需要在superview上调用setNeedsLayout ……但这不应该是必需的.)

您可以查看原始答案here

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值