我想知道如何使用UICollectionView实现所需的加载效果,就像在亚马逊应用程序中进行搜索一样,它只返回一些项目,直到滚动结束,然后加载指示器设置为加载更多细胞继续,直到它显示的搜索中的所有产品.
像下面这样的图片:
通常你必须设置numberOfItemsInSection,数据源的项目数,它是如何的方式?,你设置项目的总数,然后加载它懒惰或什么?
提前致谢.
使用上面的crazy_phage之类的scrollViewDidScroll函数,您可以观察到最终到达CollectionView的最后时间,然后您可以更新numberOfRowInSections并以下列方式调用reloadData:
class CollectionSampleViewController: UICollectionViewController { private let reuseIdentifier1 = "Cell" private var numberOfItemsPerSection = 9 override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int { return 1 } override func collectionView(collectionView: UICollectionView,numberOfItemsInSection section: Int) -> Int { return numberOfItemsPerSection } override func scrollViewDidScroll(scrollView: UIScrollView) { let offsetY = scrollView.contentOffset.y let contentHeight = scrollView.contentSize.height if offsetY > contentHeight - scrollView.frame.size.height { numberOfItemsPerSection += 6 self.collectionView.reloadData() } } }
当reloadData函数调用它时,滚动保持在同一个地方并加载新数据.
在上面的代码中,您可以使用活动指示器视图或您要添加到代码中的任何其他内容.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。