IOS /情节提要/自动布局。中心水平组元素

时间:2017-12-14 16:48:03

标签: ios autolayout storyboard

在Storyboard中使用自动布局,是否有一种直接的方法可以使一组元素居中而不会使它们成为子视图的一部分?

例如,如果我有一个标签50和第二个元素Points,是否可以将它们合并为一个然后居中。

现在,我能够保持它们之间的空间不变(因为它需要)和水平对齐,但我不能将它们中的两个放在一起。我的方法是在第一个元素之前设置一个前导空格,在第二个元素之后设置一个尾随空格,但有些东西会把它抛弃。我知道我可以将它们组合成一个标签并将其集中在一起,但我正在寻找一种解决方案,每当我遇到其中一种常见的情况时我都可以重复使用。

感谢您的任何建议。

图像:

image 故事板中。

enter image description here

2 个答案:

答案 0 :(得分:1)

我知道你的问题指出你不想让这两个标签成为子视图的一部分,但是我不知道这样做的好方法,并且我认为我至少会提到标准/推荐的方式处理这种情况的方法是将“3K”和“Points”添加到水平堆栈视图中,然后将堆栈视图水平居中,并将其垂直约束到上面的“Explorer”。

这最终需要与现在相同或更少的约束,因为您不需要为堆栈视图中的标签创建约束。

请参阅此处的Apple参考资料:

https://developer.apple.com/videos/play/wwdc2015/218/?time=134

https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/LayoutUsingStackViews.html

答案 1 :(得分:1)

此方案非常常见且非常简单:只需删除leadingtrailing约束,然后将horizontalCenter添加到第一个标签关于观点。在那之后你要做的就是将第一个horizontalCenter添加到第一个并且你被设置了!现在两者都联系在一起并且很好地集中在一起。

如果您需要更多帮助,请分享您的回购,我会分叉。