我目前正在使用UICollection
具有以下形式的的轮播视图:
[cell1][cell2][cell3] ... [cell n][ + ]
所以我UICollection
只有一节。
除最后一个单元格外,每个单元格均具有内容。最后一个单元格(n+1
)内部有一个加号按钮,允许用户在轮播中插入新的单元格。
我将此代码写入datasource方法,cellForItemAtIndexPath
以了解当前索引路径中的单元格是否为最后一个单元格:
if ([indexPath section] == sectionsAmount - 1 && [indexPath row] == rowsAmount - 1) {
FormationCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CellFormation" forIndexPath:indexPath];
return cell.
}
转盘上的最后一个单元格可以,但是当我在转盘上水平滚动时,最后一个单元格也会在转盘的某个索引处生成,并在滚动过程中替换其他单元格。我认为这是可重用单元中的问题。谁能帮我吗?
这就是我要的:
[cell1][cell2][cell3] ... [cell n][ + ]
初始化轮播后,我有:
[cell1][cell2][cell3] ... [cell n][ + ]
没关系,但是当我在轮播中滚动时,会出现以下错误:
[cell1][ + ][ + ] ... [cell n][ + ]
最后一个细胞被克隆到某些位置。
您应该覆盖prepareForReuse
单元格子类上的方法,并在那里进行任何配置清理,例如重置UI和单元格状态。
更新
[+]单元格是否与[cell n]单元格使用相同的类?如果是这样,那么您就不会在重用之前清除状态(因此,您应该在prepareForReuse
方法上清除它)。如果您是,那么您可能会使用相同的单元格标识符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句