UI Builder - 基于子视图高度的SuperView高度

时间:2015-08-01 15:16:26

标签: ios autolayout

我对Auto Layout非常陌生,一般都是iOS开发。我试图找到如何使SuperView的高度取决于子视图高度的最佳方法。

SuperView
--SubView1
--SubView2
--SubView3 

是否可以直接在UI构建器中执行此操作,还是必须从控制器执行此操作?还有一些例子非常感谢。

2 个答案:

答案 0 :(得分:2)

您绝对可以在InterfaceBuilder中执行此操作。 Xcode 7 beta与Xcode 6.x的概念相同,但UI有所改变。

子视图的边缘应该“固定”到超视图的边缘,并且也会相互约束。

要开始并感受它,尝试使用不同颜色的单个子视图,从超视图的边缘插入固定的距离。

答案 1 :(得分:1)

你可以通过代码方式来实现:

//assuming that view is the superView
var height = CGFloat(0);
for subView : UIView in view.subviews as! [UIView]{
    height+=subView.bounds.height;
}

view.frame.size.height = height;