UICollectionview insertItemsAtIndexPaths 停止滚动
UICollectionview insertItemsAtIndexPaths stops scrolling
我有一个无限加载的集合视图——添加新项目:insertItemsAtIndexPaths
但是每次我调用 insertItemsAtIndexPaths
时滚动都会停止
insertItemsAtIndexPaths
在主线程上运行,因为它必须
有什么方法可以防止 insertItemsAtIndexPaths
停止滚动吗?
(我的意思是快速滚动)
此致
所以我回答我自己的问题:)
将触发 insertItemsAtIndexPath
的代码从 scrollViewDidScroll
移动到 scrollViewDidEndDecelerating
- 解决了问题:)
感谢您的问答 Helmut,这看起来太晦涩了,我觉得还有另一个问题在起作用。除了这个我找不到任何帖子所以我开始思考还有什么影响滚动并发现我会打电话给
refreshControl?.endRefreshing()
当我获得新数据时,虽然刷新控件当前未刷新,但它仍会中断滚动。
只需将其更改为以下内容即可解决问题。
if let refreshing = refreshControl?.isRefreshing, refreshing {
refreshControl?.endRefreshing()
}
我有一个无限加载的集合视图——添加新项目:insertItemsAtIndexPaths
但是每次我调用 insertItemsAtIndexPaths
时滚动都会停止
insertItemsAtIndexPaths
在主线程上运行,因为它必须
有什么方法可以防止 insertItemsAtIndexPaths
停止滚动吗?
(我的意思是快速滚动)
此致
所以我回答我自己的问题:)
将触发 insertItemsAtIndexPath
的代码从 scrollViewDidScroll
移动到 scrollViewDidEndDecelerating
- 解决了问题:)
感谢您的问答 Helmut,这看起来太晦涩了,我觉得还有另一个问题在起作用。除了这个我找不到任何帖子所以我开始思考还有什么影响滚动并发现我会打电话给
refreshControl?.endRefreshing()
当我获得新数据时,虽然刷新控件当前未刷新,但它仍会中断滚动。 只需将其更改为以下内容即可解决问题。
if let refreshing = refreshControl?.isRefreshing, refreshing {
refreshControl?.endRefreshing()
}