增加可滚动内容的高度(从顶部开始)

Posted

技术标签:

【中文标题】增加可滚动内容的高度(从顶部开始)【英文标题】:Increasing scrollable content height (from top) 【发布时间】:2019-05-19 15:29:08 【问题描述】:

我想做的是以编程方式增加 UIScrollView 的可滚动内容的大小(每次按下按钮时,都会制作 UILabel 并将其堆叠在 scrollView 上的另一个之上),并将额外的高度添加到顶部我当前的 ScrollView,以便我可以进一步向上滚动(而不是进一步向下)。

我实际上已经想出了如何为我的滚动视图添加更多可滚动内容空间:

var contentRect = CGRect.zero
for view in scrollView.subviews 
    contentRect = contentRect.union(view.frame)

scrollView.contentSize = contentRect.size

但是,添加到滚动视图的额外空间位于滚动视图的底部,而我希望它位于顶部(以便我可以进一步向上滚动)。有什么办法可以做到这一点吗?希望这是有道理的。

【问题讨论】:

【参考方案1】:

您不能将额外的高度添加到顶部。增加contentSize的大小后,需要更新滚动视图中每个视图的frame来下移。

另一种选择是使用支持添加额外视图/行的 UIStackView 或 UITableView。

【讨论】:

以上是关于增加可滚动内容的高度(从顶部开始)的主要内容,如果未能解决你的问题,请参考以下文章

在可拖动事件上,元素随着滚动条窗口顶部的高度向下移动

滚动或重新加载后单元格高度增加

为固定的 100% 高度 div 创建可滚动内容

为页面增加滚动事件侦听,当页面滚动高度大于200,在页面右下方出现 返回顶部 按钮

在自动布局的情况下,IOS scrollview 模糊的可滚动内容高度

可滚动 div 和固定底部 div 如何在包装器内动态更改高度?