自动布局问题

时间:2017-08-06 15:17:53

标签: swift autolayout constraints

我试图让布局工作,我有9个正方形设置为3 x 3,在所有设备尺寸上,它们都是正方形。

我尝试了无穷无尽的想法让它发挥作用,但似乎无法让它在所有设备上保持正方形。

我在下面附上了一张图片,显示了左上角广场的结果和当前限制。

任何帮助都会很棒!

enter image description here

2 个答案:

答案 0 :(得分:1)

最好的方法是使用 C1 C2 C3 C4 0 Previous Close: NaN NaN 1 Market Cap: NaNB NaN B 2 Next Earnings Date: NaN NaN 3 High: NaN NaN 4 Low: NaN NaN 5 52 Week High: NaN NaN 6 52 Week Low: NaN NaN 7 52 Week Change %: 0.00 NaN NaN 8 P/E Ratio: n/a NaN NaN 9 EPS: NaN NaN 10 Dividend Yield: n/a NaN NaN 。优点是你不必处理很多限制。因此,水平选择第一行三视图,然后单击stackView按钮,其轴应在故事板内水平。对第二行和第三行遵循相同的操作。同样在Embed in Stack里面你可以提到你想要的间距。

现在,对于所有三行,您有三个stackview。然后选择所有三个stackView,然后点击stackView按钮,其轴应该是垂直的,你可以提到你想要的间距。

这样做的好处是你不必担心约束。最后,您只需在主Embed in Stack上应用约束,该约束将容纳您的所有孩子stackView

答案 1 :(得分:1)

虽然我完全同意UIStackView是一个很好的选择,但您也可以在广场上添加Aspect Ratio个约束(Multiplier为1),并确保它们保持平方(如没有关于你当前的布局要求你的观点应该是正方形)。

如果您希望9个方格保留在超视图的中心,我建议将它们添加到不可见的中间视图中,并将其置于超视图中。