Autolayout - 如何与最长的项目对齐

时间:2013-12-29 01:33:43

标签: ios autolayout

假设我有一个包含两列对象的视图。第一列包含标签,第二列包含滑块。我希望滑块全部彼此对齐。我希望标签全部彼此对齐。诀窍是,如何设置标签和滑块之间的间距,以便在左滑块和最长标签之间使用默认间距,因此:

label 1            slider 1
label 2            slider 2
longer label 3     slider 3
very long label 4[]slider 4
label 5            slider 5

我放置方括号[],默认间距应该是。是否可以在故​​事板(iOS 7)中添加此类约束?如果是这样,怎么样?诀窍是我不知道哪个标签最长,特别是本地化。

理想情况下,我可以在标签周围指定一个边界框,并将滑块与边界框的右侧对齐。

1 个答案:

答案 0 :(得分:1)

是的,您可以在IB中执行此操作。所有标签的左边缘都应对齐,其中一个标签应该在其超视图的左边缘有一个固定的空间(所有元素都应该包含在UIView中)。类似地,滑块的右边缘对齐,其中一个边缘的边缘有一个固定的空间。给滑块中的一个标签一个水平间距约束 - 使它成为一个短的,比如== 8,优先级为900(这是重要的事情)。现在,为所有标签提供一个> =约束,其中包含您想要的最小间距值(并将优先级保留为1000)。