我刚刚开始实现多选UICollectionView。以下是否会被视为“安全”代码(因为我认为有些原因它被称为BackgroundView而不是AccessoryView等)?我有想法省去一些努力,我打算在索引路径上跟踪所选项目,以便通过数组进一步使用。
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
//....
cell.selectedBackgroundView = someView_With_A_Checkmark_Image;
[cell bringSubviewToFront:cell.selectedBackgroundView];
//...
return cell;
}
答案 0 :(得分:2)
安全吗?雅当然不会导致任何错误。如果你的backgroundView位于单元格的contentView之上,那么contentView
的意义是什么?
集合视图单元格结构
如果在集合视图中选择一个项目,collectionView将切换BackgroundView
和Selected background view
。因此,您可以做的是在配置自定义单元格时将有效视图作为背景视图和选定的背景视图,或者在 didSelectItem 中更改单元格的任何属性以区分选择。那更好。
然后再一次不需要使用单独的数组跟踪选择。 [self.collectionView indexPathsForSelectedItems] 会在任何时间点为您提供所选项目路径