如何使用AutoLayout平均调整按钮之间的空间

时间:2013-12-09 16:08:44

标签: autolayout nslayoutconstraint

我有一个主屏幕,三个按钮垂直对齐。我希望将我的应用程序用于4英寸屏幕。所以我想平均调整按钮之间的空间以填满屏幕。 见下图: 如何使用AutoLayout实现这一目标?

绿色区域保持其大小。

enter image description here enter image description here

2 个答案:

答案 0 :(得分:6)

  

编辑: Apple现在倾向于使用堆栈视图来实现此目的。请参阅this WWDC 2013 video for OS Xthis iOS one from WWDC 2015

Apple approved way of doing this(查找标题为“在视图之间创建相等间距”)的部分是在每个按钮之间插入隐藏视图,并将这些视图的高度设置为相等。

请参阅my answer over here,了解有关此方法有意义的原因。

答案 1 :(得分:0)

使用clearColor为背景添加视图中的每个按钮,按照子视图由centerY和CenterX对齐。设置约束如:

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[box][viewForButton1][viewForButton2][viewForButton3]|" options:nil metrics:0 views:viewDic]];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[viewForButton1]|" options:nil metrics:0 views:viewDic]];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[viewForButton2]|" options:nil metrics:0 views:viewDic]];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[viewForButton3]|" options:nil metrics:0 views:viewDic]];