【发布时间】:2013-10-20 01:29:52
【问题描述】:
我想在一个视图中布置 6 个对象(按钮)。但是,它们应该遵循一些限制:
- 两个顶部按钮与超级视图的垂直距离应相同 (
A) - 两个底部 - 相同 (
C) - 中间两个的中心应该在 superview 的中心线上
- 所有按钮 (
E) 之间的垂直距离应该相同 - 最后但并非最不重要的一点 - 按钮应该是方形的(因此宽度和高度应该相同)
-
A=C -
B=D
是否可以仅在 IB 中产生这种效果,或者我应该为约束使用一些额外的代码?
【问题讨论】:
-
我认为在 IB 中是可能的。即使很难,我也会用代码完成所有布局。 Xcode 不能很好地处理 xib。
-
但是 - 你如何设置 width=height 约束,并将所有按钮设置为相同的值?
-
[myView addConstraint:[NSLayoutConstraint constraintWithItem:button attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:button attribute:NSLayoutAttributeHeight multiplier:1.0f constant:0.0f]];
-
您为一个按钮设置宽度和高度,然后如果您从一个按钮控制拖动到另一个按钮,则会出现“等宽”和“等高”选项
-
这里有一个问题,所有按钮都需要彼此具有相同的高度和宽度吗?如果他们这样做,那么你的条件不能总是满足:如果 A != C,“中间的两个应该有他们的中心在 superview 的中心线”不能为真。
标签: xcode interface-builder autolayout