在自动布局中动态更改 UIScrollView 的大小

Posted

技术标签:

【中文标题】在自动布局中动态更改 UIScrollView 的大小【英文标题】:Change Size of UIScrollView dynamically in autolayout 【发布时间】:2015-08-13 10:32:10 【问题描述】:

我的应用程序中有一个UIScrollView。我需要UIScrollView 来动态改变它的高度。我已经尝试过_scrollArea.contentSize=CGSizeMake(_contentView.frame.size.width, x* _contentView.frame.size.height);(x 有各种值),但滚动视图不受影响。 UIScrollView 的大小是

320,568

_contentView的大小是

320,1100

所以UIScrollView 需要的最小高度为 568,最大高度为 1100(取决于某些应用程序逻辑)。我已将整个内容嵌入到AutoLayout

注意:ContentView 位于 UIScrollView

【问题讨论】:

你给 UIScrollView 设置了高度限制吗? 能否请您显示设置自动布局的代码部分。 没有。只有容器视图的尾随和前导空格和容器视图的宽度相等 我在故事板中设置了自动布局 你在哪里设置了 contentSize?从viewDidLayoutSubviews试试吧 【参考方案1】:

您只需要取高度不变的出口并根据您的要求进行更改

查看下面的屏幕截图

现在你应该使用下面的代码

 self.scrollViewHeight.constant = 347; // set the height which you want to fix.

【讨论】:

我现在没有高度限制。我应该将高度设置为多少? 568? 这不起作用。我固定了高度,但它一直在滚动

以上是关于在自动布局中动态更改 UIScrollView 的大小的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 动态内容中的自动布局,底部有 UIButton

包含动态 TableView 高度的 UIScrollView 的自动布局

如何使用情节提要和自动布局在 UIScrollView 中添加动态高度/空间元素? [复制]

使用自动布局向 UIScrollView 添加动态大小的视图(高度)

UIScrollView 动态高度内容(自动布局)没有填满整个空间

如何使 UIScrollView 与自动布局和动态内容一起使用? [复制]