我查看了商店时间表。每天一行,所以我有 7 行和 4 个标签。我对标签之间的每个空格使用相同值的约束,并对每个标签使用相同值的约束。对于 iPhone SE/5S 来说还可以。但对于更大的设备,其中一个标签会更大以调整 View 。
我尝试使用约束值或关系(等于/大于),但没有任何变化。我必须做什么才能保持相同的标签值和相同的空间值? 谢谢
iPhone 屏幕:
Xcode 限制:
最佳答案
您的布局看起来可以从 tableView 中受益,但让我们只看看您的水平约束。
这是使用堆栈 View 的好地方。执行以下操作:
- 摆脱 4 个标签的所有水平限制。
- 选择 4 个标签(按住 shift 并单击每个标签),然后从 Xcode 菜单中选择编辑器 -> 嵌入 -> 堆栈 View 。
- 在右侧的属性检查器中,确保堆栈 View 轴为水平。
- 将对齐设置为填充,分布设置为均匀填充,间距设置为
16
。 - 将 Stack View 的前导和尾随约束设置为 Safe Area 的前导和尾随。
你就完成了。您的标签将均匀增长以填充每部手机的空间。
后续步骤:
您可以组合堆栈 View (将堆栈 View 放入其他堆栈 View 中)。
对于您的设置:
- 在一周中的某一天的 4 个标签上方添加一个标签(例如 Lundi)。
- 选择这个新标签和 4 标签堆栈 View ,并将它们嵌入到垂直堆栈 View 中,对齐:填充,>分布:均匀填充,间距:
16
。 - 为一周中的其他日子再制作六个新堆栈 View 的副本,并将它们嵌入到垂直堆栈 View 中,对齐:填充,分布:等间距。
- 对于这个最外面的堆栈 View ,为其设置约束以将其放置在屏幕上。如果将其顶部、底部、前缘和后缘限制在安全区域,堆栈 View 将填满手机的屏幕,并且一周中的日子将间隔开以很好地填充它。
关于swift - 如何修复 4 个水平标签的约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57322209/