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