0
有一个collectionView,可能会根据数据加载一吨细胞。目前我的体系结构是viewDidLoad
(从dataSource获得第25个),然后在willDisplayCell
(获得25个数据集的其余部分,直到达到速率限制)。问题在于它似乎一下子就把所有的数据都拉下来了。除非用户滚动,否则我不想为单元格拉下更多的数据(即除非必须显示那些单元格)。我怎样才能做到这一点?仅当用户滚动时才将数据拉入collectionView?
我知道我需要与cell
和indexPath
一起使用willDisplayCell
,但是我无法将它拼在一起?
override func viewDidLoad() {
super.viewDidLoad()
getFirstPinsAndImages()
}
override func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
if maxExceeded == false {
getRestOfPinsAndImages()
}
}
'UICollectionView'从'UIScrollView'继承 - 你应该能够显示第一25然后使用[UIScrollViewDelegate](https://developer.apple .com/library/ios/documentation/UIKit/Reference/UIScrollViewDelegate_Protocol/index.html#// apple_ref/occ/intfm/UIScrollViewDelegate/scrollViewDidScroll :) meth ods来确定何时滚动到集合视图的底部,然后加载一些更多的数据。 – Wez
谢谢@ Wezly,可能会有效,但我可以通过以下答案提高性能 – GarySabo