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