当前位置 : 主页 > 手机开发 > ios >

ios – 如何根据子视图内容使视图高度增长

来源:互联网 收集:自由互联 发布时间:2021-06-11
我有一个父视图,其高度必须由其子内容决定. 如何在没有以编程方式改变它的情况下在故事板中实现这一点. 您可以使用AutoLayout完成此操作. 确保每个子视图都有限定其大小和位置的约
我有一个父视图,其高度必须由其子内容决定.

如何在没有以编程方式改变它的情况下在故事板中实现这一点.

您可以使用AutoLayout完成此操作.

确保每个子视图都有限定其大小和位置的约束.然后,将父视图的垂直内容拥抱和压缩阻力优先级设置为必需.这将根据子视图的高度和位置定义父级的高度.

请注意,根据子视图的内容,您可能还希望更改其垂直内容拥抱和压缩阻力优先级.例如,numberOfLines设置为0的UILabel可以根据其内容自动增长,因此您希望它垂直拥抱其内容并抵制垂直压缩,以便调整父视图的大小.

此图像显示父(白色)视图及其在检查器面板中设置的垂直拥抱和压缩阻力优先级.请注意,父视图的宽度,x位置和y位置设置了约束,但没有为其高度设置约束.它可以根据子视图的高度和位置推断其高度(参见下图).

enter image description here

此图像显示每个子视图的约束.请注意,这些视图的垂直拥抱和压缩阻力优先级没有改变.这些视图中的每一个都具有x位置和y位置的约束,但是您会注意到并非所有视图都具有宽度和高度的约束.标签和开关之类的视图能够根据其内容自动推断其大小限制.如果没有在每个子视图上设置垂直位置约束,则AutoLayout将不知道每个子视图需要多少空间,因此它不知道父视图应该有多高.

enter image description here

网友评论