我尝试使用自动布局约束来自动调整视图中几个类似大小的按钮,以产生以下效果:
调整大小之前
调整大小后的预期效果
正如你所知,我希望按钮的大小相同,我也希望每个按钮之间的间距为20分。起初看起来很简单,所以我设置了以下约束:
调整大小后实际发生的事情
在预览中或在我的iPhone /模拟器中测试运行应用程序时,按钮会调整大小并且甚至不会遵循我为其设置的相同宽度约束。实际上,包含视图的视图也会调整大小以适应新的按钮大小。任何人都知道如何在界面构建器中解决这个问题?
答案 0 :(得分:15)
设置:
- 所有按钮的相等宽度
- 所有按钮之间的水平间距
- 领先以超级查看第一个按钮,尾随以超级视图查看最后一个按钮
应该做的工作。除非您遇到superview问题(例如ScrollView缺少约束)
答案 1 :(得分:6)
在界面构建器中,您可以像上面所述设置按钮之间的间距约束。然后你可以命令选择所有这些并指定" Equal Width"约束以应用于所选对象。
答案 2 :(得分:4)
最后我遗忘了如何解决这个问题。我测试它就像魅力一样。
1:5
-24
(项目之间的间隔为6,父边缘为120
,此乘以乘数值1:5
得出24
)那就是它!下图显示了它在界面构建器中的工作原理:
cannot set the content of a TextureView
将模拟尺寸设置为"自由形式"并测试不同的宽度(我将其设置为330
)。
答案 3 :(得分:3)
这个问题似乎是因为content hugging priority
和content compression Resistance priority
错误。因此,您应将它们设置为低内容拥抱和高抗压性(所有应具有相同的值)。
因为内容拥抱是抵抗视图增长和内容压缩的属性阻力优先是抵抗视图缩小。有关这些的更多信息,您可以找到Question。