我有两个单元格的collectionView。每个单元格都适合屏幕的大小。
在第一个单元格中,我有一些按钮。
当我点击一个按钮时,collectionView会滚动到第二个单元格,并根据我点击的按钮,第二个单元格应该显示不同的视图。
当我点击一个按钮时,此代码将引用第二个单元格:
if let cell = collectionView.cellForItem(at: secondIndexPath) as? SecondCell {
// change the view of the cell
print("Does not execute code")
}
我猜cellForItem(at:IndexPath)为零,因为单元格超出范围。
但是我该如何解决呢?
最佳答案
这个
let cell = collectionView.cellForItem(at: secondIndexPath)
当指定的
nil
上的单元格不可见时,返回secondIndexPath
,您需要更改模型,当再次显示该模型时,它将反映到该单元格上,是第二个单元格,然后let cellModel = arr[1] // cell 2 of 0 based indexing
cellModel.someProperty = ///
关于ios - 引用超出范围的UICollectionViewCell,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54200580/