UITableViewCell实现多选、全选、全不选

使用场景之一:购物车的时候用到

1、设置cell可多选属性

_tableV.allowsMultipleSelection = YES;

2、设置cell选择状态

cell.selectionStyle =UITableViewCellSelectionStyleNone

3、在cell上自定义一个选择Button(自定义名为:checkBtn),Button的selected属性跟cell里的selected的属性绑定。设置Button的两种状态:UIControlStateNormal和UIControlStateSelected的不同状态图片。

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

        [super setSelected:selected animated:animated];

         self.checkBtn.selected = selected;

}

4、获取所有被选中的cell的NSIndexPath数组

NSArray * selectRows = self.tableV.indexPathsForSelectedRows;

5、全选可使用这个系统方法实现

- (void)selectRowAtIndexPath:(nullable NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition;

6、取消全选可以用这个系统方法实现

- (void)deselectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated;


7、附图:全选/取消全选调用

UITableViewCell实现多选、全选、全不选_第1张图片

你可能感兴趣的:(UITableViewCell实现多选、全选、全不选)