繁体   English   中英

如何使用 AutoLayout 使子视图确定父/兄弟视图大小?

[英]How to make a child view determine parent/sibling view size with AutoLayout?

我有两个垂直堆叠的UIView s,以及像这样包围它们的父视图:

在此处输入图像描述

视图 B 是一个水平堆栈视图,我可以使用代码动态添加子视图。 我想要的是:

  1. 当 View B 的宽度改变时,父视图的宽度也会随之改变。
  2. View A 的宽度会随着父级的变化而变化,并重新绘制自身以适应新的尺寸。

我为视图 A 和视图 B 添加了约束,因为它们的前导和尾随与父视图相同。 我认为当视图 B 增长时,它会将父视图“推”到与自身一样宽,而父视图会将视图 A“拉伸”到相同的宽度。

但事实证明,由于 View A 有其初始宽度,父视图宽度受此限制,而 View B 宽度受相同宽度限制。 视图 B 没有增长,而是被挤压。

如何让视图 B 确定其他视图的宽度? 我希望使用约束,而不是在每次视图大小更改时设置框架。

如果要改变大小,只需将视图 A 的宽度更改为大于或等于。 这样它可以是那个大小或更大。 在同尺寸的inspector中,有一个“Content Compression Resistance Priority”。 数字越大,视图缩小的可能性就越小。 如果您在视图 B 上将阻力位更改为 1000,则不太可能不正确地调整大小。

Xcode 大于或等于视图大小 Xcode 内容抗压缩优先级

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM