这是我的UICollectionView:
在收集单元格中,有一个setSelected:
方法我可以选择单元格颜色:
- (void)setSelected:(BOOL)selected {
[super setSelected:selected];
//self.selected = !selected;
// checked
if (selected) {
self.backView.backgroundColor = APP_COLOR;
self.number_label.textColor = [UIColor whiteColor];
self.multiple_label.textColor = [UIColor whiteColor];
}
// uncheck
else {
self.backView.backgroundColor = [UIColor whiteColor];
self.number_label.textColor = HexRGB(0x999999);
self.multiple_label.textColor = HexRGB(0xcccccc);
}
}
但在我的tableView中,如果单击其他单元格,则取消选中所选单元格,因此单元格中只检查了一个单元格。
那么,我怎样才能在UICollectionView中多列选择单元格?
答案 0 :(得分:1)
您应该将allowsMultipleSelection
设置为YES
:
一个布尔值,用于确定用户是否可以在集合视图中选择多个项目。
此属性控制是否可以同时选择多个项目。此属性的默认值为 false 。 当此属性的值为 true 时,点击单元格会将其添加到当前选择中(假设委托允许选择单元格)。再次点击单元格会将其从选择中删除。
答案 1 :(得分:0)
UITableView
和UICollectionView
都有@property (nonatomic) BOOL allowsMultipleSelection; // default is NO
将其设置为YES。
答案 2 :(得分:0)
其他方式是在didSelectItemAtIndexPath上的数组中存储indexPath并检入数组(如果它已经存在)然后删除其他add in array。在cellForItemAtIndexPath方法中比较数组中的indexPath。