UIScrollView中的动态大小的UIView

时间:2015-03-05 15:36:39

标签: ios swift uiview uiscrollview storyboard

对于我的应用程序,我需要向全局UIScrollView添加几个动态大小的UIView。我希望子视图将自己定位在其他视图的顶部。

为了简化并能够重用我的子视图,我将它们作为单独的ViewControllers制作,我将其插入到容器视图中的全局ScrollView中。它们看起来都很相似:一个标题标签,它有一个固定的高度,底部是一个按钮,中间是一个CollectionView或一个具有可变高度的TableView,它们都嵌入在ScrollView中,这样我就可以计算出它的大小使用contentSize

视图的结构如下:


[滚动型]

  

[标题视图(固定大小)]

     

[容器视图#1]

     

[容器视图#2]

     

...

[/滚动型]


我希望全局WebView根据其中的项目调整大小,并根据它们嵌入的VC主视图的内容调整containerViews的大小。

我的问题是我无法获得正确的子视图大小:组件嵌入ScrollView的contentSize不正确:宽度或高度不正确。

我在元素之间添加了约束,这似乎有效,但是当我尝试获取组件的scrollview的contentSize时,我得到的高度是嵌入容器视图的高度约束的大小,这是不合逻辑,因为scrollview中的内容更高,因此scrollview允许滚动

1 个答案:

答案 0 :(得分:0)

我找到了错误

scrollViews的大小不正确,因为我需要在scrollViews上调用layoutIfNeeded(),可能是因为它们嵌入在分离的VC中