如何在 SWIFT 中更改 ViewController 后保留集合视图滚动位置

Posted

技术标签:

【中文标题】如何在 SWIFT 中更改 ViewController 后保留集合视图滚动位置【英文标题】:How to preserve collection view scroll position after changing ViewController in SWIFT 【发布时间】:2019-06-01 14:11:26 【问题描述】:

问题是:滚动collectionView 并单击一个项目后,另一个viewController 通过navigationController 呈现。当我点击“返回”按钮(左上角)时,集合视图会滚动到顶部,但我希望它保持更改视图控制器之前的“滚动位置”。

我尝试添加 automaticAdjustsScrollViewInsets = false

谢谢

【问题讨论】:

【参考方案1】:

automaticallyAdjustsScrollViewInsets 与您正在处理的事情无关。 collectionView 不应自行滚动回顶部。您可能在viewDidAppearviewWillAppear 中调用reloadData(),这会触发您所描述的行为。

【讨论】:

我没有重新加载它,但你是对的。每次在 viewWillAppear 中都会重新创建集合视图

以上是关于如何在 SWIFT 中更改 ViewController 后保留集合视图滚动位置的主要内容,如果未能解决你的问题,请参考以下文章

当项目中发生更改时,Xcode 如何编译文件?

Swift - 如何在 2 个视图控制器之间导航时删除黑色导航栏

按下按钮时如何显示另一个(更改)ViewController

如何更改表格视图中的标签文本颜色(存储在数组中的数据)

Swift添加可点击的tableview

如何从情节提要中获取 UIViewControl 对象的笔尖名称