如何在ios中的storyboard中对一组元素使用约束?

时间:2016-11-13 00:26:13

标签: ios swift uistoryboard nslayoutconstraint

在我的UIStoryBoard我有以下情况:

enter image description here

一个UIViewController,包含两个元素 - 一个按钮和一个标签。 每个组件上的文本都是从localized.strings中提取的,因此每次用户选择不同的语言时它都有不同的长度。 在我的代码中:

myButton.setTitle("TextOnButton".localized(), for: .normal)
myButton.sizeToFit()
txtLabel.text = "txt".localized()

我应该如何附加约束,以便将这两个元素组合在一起时始终位于中心?例如:

这不在中间:

enter image description here

这是在中间:

enter image description here

如果它只是一个元素,我会附加约束midX以及所有这些,但是当有两个元素的情况怎么样?我可以 - 不知何故 - 将约束附加到元素组?

1 个答案:

答案 0 :(得分:3)

你可以借助名为Stack View的东西来实现这一点。在StoryBoard中选择两个标签并单击以下按钮:
StackViewButton

在层次结构中,您会注意到两个标签都包含在Stack View内。现在您只需要将Horizontally in ContainerVertically in Container约束添加到堆栈视图中。最后,当选择Spacing时,您可以在属性检查器中的两个标签之间添加一些stack view。 最后结果:
Final result