swift – UICollectionview scrollToItemAtIndexPath,在动画完成之前不加载可见单元格

swift – UICollectionview scrollToItemAtIndexPath,在动画完成之前不加载可见单元格,第1张

概述我有一个带有142个单元格的UICollectionView.任何时候都可以看到7.5. 我正在将一个单元从indexPath 0移到100. 但我也想滚动到那个新位置. 下面的代码工作正常.但它动画移动和滚动,但随后将细胞加载到中央/移动的细胞前后. 我认为这是因为细胞是可重复使用的.但是142,我无法预加载所有这些 它不是最好的效果,我想预先加载新位置周围的单元格,在indexPath 100 我有一个带有142个单元格的UICollectionVIEw.任何时候都可以看到7.5.

我正在将一个单元从indexPath 0移到100.
但我也想滚动到那个新位置.

下面的代码工作正常.但它动画移动和滚动,但随后将细胞加载到中央/移动的细胞前后.
我认为这是因为细胞是可重复使用的.但是142,我无法预加载所有这些

它不是最好的效果,我想预先加载新位置周围的单元格,在indexPath 100之前和之后4,然后查看移动和滚动的动画.你能帮帮忙吗?

UIVIEw.animateWithDuration(animationSpeed,animations: {() -> VoID in    self.collectionVIEw.layoutIfNeeded()    self.collectionVIEw.scrollToItemAtIndexPath(NSIndexPath(forItem:self.indexPathSelected.row,inSection:0),atScrollposition: .CenteredHorizontally,animated: true)})
解决方法

Swift 3.0 OR up

add “vIEw.layoutIfNeeded()” before implementing scrollToItem method,IDeally in vIEwWillAppear

overrIDe func vIEwWillAppear(_ animated: Bool) {super.vIEwWillAppear(animated)vIEw.layoutIfNeeded()  colVIEw.scrollToItem(at: IndexPath(item: 4,section: 0),at: .centeredHorizontally,animated: true)}
总结

以上是内存溢出为你收集整理的swift – UICollectionview scrollToItemAtIndexPath,在动画完成之前不加载可见单元格全部内容,希望文章能够帮你解决swift – UICollectionview scrollToItemAtIndexPath,在动画完成之前不加载可见单元格所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/999919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存