我有两个单元格的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/

10-17 01:10