【发布时间】:2016-10-22 19:05:56
【问题描述】:
我想在按钮旁边放置一个标签,如下所示:
[--[UILabel]-[UIButton]--]
考虑到 UILabel 和 UIButton 具有动态文本长度,我希望它们在其父视图中居中。
如何使用 AutoLayout 或 UIStackViews 做到这一点?
谢谢,
【问题讨论】:
标签: ios autolayout uistackview
我想在按钮旁边放置一个标签,如下所示:
[--[UILabel]-[UIButton]--]
考虑到 UILabel 和 UIButton 具有动态文本长度,我希望它们在其父视图中居中。
如何使用 AutoLayout 或 UIStackViews 做到这一点?
谢谢,
【问题讨论】:
标签: ios autolayout uistackview
将标签和按钮都对齐到超级视图。如果您使用故事板或 XIB 文件,请选择标签的 Horizontally Centered Constraint 并在 Size Inspector(在 Xcode 的右列,第 5 项)中选择 Label.Trailing 而不是 Label.X。并给它一个值(或零,随便你。这将是标签和视图中心之间的常数)。
设置它们后,Size Inspector 中的标签 Center X Alignment Constraint 应如下所示:
对按钮执行相同的操作。但是这一次,选择Button.Leading 而不是Button.X 并给它一个常数。
设置它们之后,Size Inspector 中的 Button 的 Leading Alignment Constraint 应该如下所示:
通过这种解决方案,Label 和 Button 将相互独立。您可以独立决定它们的其他属性。
【讨论】:
将标签和按钮放在 StackView 中,并将该 StackView 的约束(水平居中,垂直居中)赋予超级视图
【讨论】: