UICollectionView 小坑:cellForItemAtIndexPath 返回空

動畫需要獲取當(dāng)前的 Cell ,下面的調(diào)用在 viewDidLoad 中,有時候返回 nil,有時候成功。

UICollectionView *cell = (UICollectionView*)[self.collectionView cellForItemAtIndexPath:indexPath];

簡單的解決方法,是在調(diào)用之前添加

[self.collectionView layoutIfNeeded];

原因是,根據(jù)蘋果開發(fā)者文檔:
UICollectionView如果 cell 不是 visible 的 或者 indexPath 超過有效范圍,就返回 nil。?

在 iOS 10 上 還有一種解法:

[self.collectionVew setPrefetching?Enabled: NO];

但這種就犧牲了性能。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容