我遇到UICollectionView問題。下面的代碼是返回獲得的細胞在一個點(CGPoint)UICollectionView cellForItemAtIndexPath在滾動後返回nil
CollectionViewCell* cell = (CollectionViewCell*) [mCollectionView cellForItemAtIndexPath: [mCollectionView indexPathForItemAtPoint:point]];
if (cell)
NSLog(@"Cell exists");
else
NSLog(@"Cell doesn't exist");
如果UICollectionView是左還是這將返回一個有效的單元格。如果向下滾動,則返回nil。我不確定是什麼問題。 UICollectionView滾動工作正常。 collectionview單元沒有問題。
請問有人能幫我一下嗎?
請參閱['cellForItemAtIndexPath:']的文檔(https://developer.apple.com/library/ios/)文檔/ UIKit的/參照/ UICollectionView_class /參考/#的reference.html // apple_ ref/occ/instm/UICollectionView/cellForItemAtIndexPath :):「對應索引路徑的單元格對象,或者如果單元格不可見或indexPath超出範圍,則爲nil。 –
我想在我的視圖中獲取可見單元格。它返回有效的索引路徑。例如,我的視圖允許在iPad上以縱向模式顯示5行中的15個集合視圖單元格。一些滾動後,如果我嘗試獲取中間單元格的索引路徑,它將返回7,這是有效的。但[mCollectionView cellForItemAtIndexPath:indexPath]返回nil。 – user862972
檢查你所看到的'indexPath'是否是你期望的。在滾動之前和之後進行測試。我的猜測是,你給它一個相對於錯誤觀點的CGPoint。您可能需要將該點轉換爲相對於不同視圖。 – Gavin