我无法使用> iOS6中的自动布局实现所需的视图布局。
我有UIView1和UIView3固定到父视图(相应地使用TopSpaceToSuperview,BottomSpaceToSuperView和FixedHeight),当父视图更改高度时,它们的行为与预期一致。
如果我希望在父视图改变高度时它与兄弟姐妹(UIView1和UIView3)保持相同的比例距离,我应该在IB中为UIView2指定哪些约束? (如图所示)
答案 0 :(得分:8)
执行此操作的方法是在视图之间使用不可见的“间隔”视图。
您不能拥有相对大小的空格,因此请改用这些视图。
当前空格在每个空间放置一个UIView。
然后(在代码中,因为你不能在IB中这样做)在它们之间用你想要的正确乘数设置一个高度约束。
即
[NSLayoutConstraint constraintWithItem1:spacer2
attribute:NSLayoutAttributeHeight
relation:NSLayoutRelationEqual
item2:spacer1
attribute:NSLayoutAttributeHeight
multiplier:0.5
constant:0];
然后使其他视图“粘贴”在这些间隔视图的上方和下方,间距为0。
然后你只需要隐藏这些视图,自动布局将负责其余部分。