根据子视图的内容大小调整滚动视图

时间:2015-07-11 16:02:34

标签: ios swift xcode6

我正在尝试允许滚动视图根据此页面上子视图的大小调整大小。图片中对象的所有其他约束都可以正常工作。

Imgur

当我向我的子视图添加约束以拥抱屏幕的左侧,右侧和底部(并且子视图的顶部拥抱到分段控件的底部)然后更新帧时,它会使得高度为子视图0。

Imgur

我无法在子视图中添加高度约束,因为子视图的大小会根据其中的内容量动态变化,然后会改变滚动视图的大小。

如何在不添加高度限制的情况下完成此操作?

2 个答案:

答案 0 :(得分:1)

您的视图层次结构应如下所示:

view hierarchy

  

创建UIScrollView的单个子视图,我们将放置所有视图   我们的内容

     

内容视图必须是显式大小(或占位符大小)   界面构建器并在运行时设置)。换句话说就是你的内容   视图不能依赖滚动视图来获取其大小。它可以,   但是,依赖滚动视图外部的视图来获取其大小。

来自Apple 技术说明TN2154

  •   

    在所有视图上将translatesAutoresizingMaskIntoConstraints设置为NO   参与。

  •   

    使用外部约束定位和调整滚动视图的大小    到滚动视图。

  •   

    使用约束来布局子视图   滚动视图,确保约束绑定到所有四个边   滚动视图,不要依赖滚动视图来获取它们的大小。

    UIScrollView And Autolayout

    Using UIScrollView with Auto Layout in iOS

答案 1 :(得分:0)

尝试提供Equl Heights&对您的子视图的Equal Width限制。

Equal Width & Equal Heights

相关问题