CollectionView 标题在滚动时停止刷新/重新加载数据

Posted

技术标签:

【中文标题】CollectionView 标题在滚动时停止刷新/重新加载数据【英文标题】:CollectionView header stop refreshing/ reloading data when is scrolled 【发布时间】:2017-06-12 11:14:36 【问题描述】:

有没有办法在集合视图中停止刷新我的标题上的数据? 我的集合视图中的标题包含不会将它们从视图中带走的数据和按钮。当您向下滚动时,集合视图会重新加载数据,并且我的集合视图标题上的任何激活按钮都会被停用。 如何在标题底部到达导航控制器下方之前停止刷新标题上的数据?或类似的东西,以便有足够的时间查看标题上的信息。

【问题讨论】:

问题解决了吗? 【参考方案1】:

如果您不想重新加载您的 collectionview,您可以使用 UICollectionView 的 reloadSectionsreloadItemsAtIndexpaths 内置方法

【讨论】:

【参考方案2】:

当你的标题结束显示时,它会调用你可以在隐藏后执行你的任务:-

func collectionView(collectionView: UICollectionView, didEndDisplayingSupplementaryView view: UICollectionReusableView, forElementOfKind elementKind: String, atIndexPath indexPath: NSIndexPath) 

你可以使用 dispatch_after 足够长的时间,比如 1 秒后你可以做任何事情:-

let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC)))
dispatch_after(delayTime, dispatch_get_main_queue()) 
    print("test")

【讨论】:

【参考方案3】:

你想停止重新加载collectionView的headerView,这是违反代码流的。不要这样做。

如何实现你的目标?

将它保存在任何地方。您可以使用 NSUserDefaults 来保存按钮的激活或停用状态。

【讨论】:

以上是关于CollectionView 标题在滚动时停止刷新/重新加载数据的主要内容,如果未能解决你的问题,请参考以下文章

滚动时停止 CollectionView 以创建新按钮

CollectionViewCell 顶部的按钮使 collectionView 停止滚动

触摸 CollectionView 时禁用动画?

CollectionView 布局在滚动之前不会刷新

Swift iOS -CollectionView 如何将单元格滚动到屏幕外

设置contentInset时MJRefresh下拉刷新异常