swift - 如何修复 4 个水平标签的约束?

标签 swift xcode

我查看了商店时间表。每天一行,所以我有 7 行和 4 个标签。我对标签之间的每个空格使用相同值的约束,并对每个标签使用相同值的约束。对于 iPhone SE/5S 来说还可以。但对于更大的设备,其中一个标签会更大以调整 View 。

我尝试使用约束值或关系(等于/大于),但没有任何变化。我必须做什么才能保持相同的标签值和相同的空间值? 谢谢

iPhone 屏幕:

iphone screen

Xcode 限制:

XCode

最佳答案


您的布局看起来可以从 tableView 中受益,但让我们只看看您的水平约束。

这是使用堆栈 View 的好地方。执行以下操作:

  1. 摆脱 4 个标签的所有水平限制。
  2. 选择 4 个标签(按住 shift 并单击每个标签),然后从 Xcode 菜单中选择编辑器 -> 嵌入 -> 堆栈 View
  3. 在右侧的属性检查器中,确保堆栈 View 水平
  4. 对齐设置为填充分布设置为均匀填充间距设置为16
  5. 将 Stack View 的前导和尾随约束设置为 Safe Area 的前导和尾随。

你就完成了。您的标签将均匀增长以填充每部手机的空间。


Setup in Xcode


后续步骤:

您可以组合堆栈 View (将堆栈 View 放入其他堆栈 View 中)。

对于您的设置:

  1. 在一周中的某一天的 4 个标签上方添加一个标签(例如 Lundi)。
  2. 选择这个新标签和 4 标签堆栈 View ,并将它们嵌入到垂直堆栈 View 中,对齐:填充>分布:均匀填充间距:16
  3. 为一周中的其他日子再制作六个新堆栈 View 的副本,并将它们嵌入到垂直堆栈 View 中,对齐:填充分布:等间距
  4. 对于这个最外面的堆栈 View ,为其设置约束以将其放置在屏幕上。如果将其顶部、底部、前缘和后缘限制在安全区域,堆栈 View 将填满手机的屏幕,并且一周中的日子将间隔开以很好地填充它。

关于swift - 如何修复 4 个水平标签的约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57322209/

相关文章:

ios - 当 MIDI 目标或源更改时收到通知

swift - 无法将表达式的类型 '()' 转换为类型 'UINavigationController?'

ios - objective c和swift中单例类的使用

ios - 如何将 Alamofire 路由器类迁移到 Swift 3?

ios - Xcode - 没有可供下载的 dSYM

ios - 在 Game Center 比赛中出现错误 : cancelled by host

ios - 重复间隔对于本地通知无法正常工作 (Swift)

iphone - UITableViewController 内容未出现

ios - 单击Xco​​de 4.3.3时,保持按钮突出显示

ios - iOS 中的核心图