自定义UITableviewCell实现多选效果

因为设计原因
不想使用原生多选功能?
可以试试自定义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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容