因为设计原因
不想使用原生多选功能?
可以试试自定义Cell的方式添加多选功能
1.根据设计, 在cell适当的地方添加一个button, 默认hiden = YES 并且设置normal和select状态的图片, 将button关联到控制器
2.在需要显示tableview的控制器中添加多选标识:
@property (nonatomic, assign) BOOL isMultipleSelect;
接下来就是在cell中进行控制了
3.在cellForRow方法中判断是否为选中状态, 并设置选中button的hiden属性
cell.selectButton.selected = NO; // 防止复用错误
if (_isMultipleSelect) {
cell.selectButton.hidden = NO;
}else {
cell.selectButton.hidden = YES;
}
4.在didSelet方法中对选中状态进行更改, 即设置button的select属性
if (_isMultipleSelect) {
// 获取当前选中的cell
JoinedTableViewCellSingle *cell = [tableView cellForRowAtIndexPath:indexPath];
if (![cell.selectButton isSelected]) {
cell.selectButton.selected = YES;
}else {
cell.selectButton.selected = NO;
}
// return, 不进入下级界面
return;
}
5.相关的数据操作
进入多选状态后的取消和确定:
设置_isMultipleSelect的值, 然后刷新tableview
选中后的操作(删除等):
使用NSMutableArray等容器存储选中模型, 操作后刷新tableview