因?yàn)樵O(shè)計(jì)原因
不想使用原生多選功能?
可以試試自定義Cell的方式添加多選功能
1.根據(jù)設(shè)計(jì), 在cell適當(dāng)?shù)牡胤教砑右粋€(gè)button, 默認(rèn)hiden = YES 并且設(shè)置normal和select狀態(tài)的圖片, 將button關(guān)聯(lián)到控制器
2.在需要顯示tableview的控制器中添加多選標(biāo)識(shí):
@property (nonatomic, assign) BOOL isMultipleSelect;
接下來(lái)就是在cell中進(jìn)行控制了
3.在cellForRow方法中判斷是否為選中狀態(tài), 并設(shè)置選中button的hiden屬性
cell.selectButton.selected = NO; // 防止復(fù)用錯(cuò)誤
if (_isMultipleSelect) {
cell.selectButton.hidden = NO;
}else {
cell.selectButton.hidden = YES;
}
4.在didSelet方法中對(duì)選中狀態(tài)進(jìn)行更改, 即設(shè)置button的select屬性
if (_isMultipleSelect) {
// 獲取當(dāng)前選中的cell
JoinedTableViewCellSingle *cell = [tableView cellForRowAtIndexPath:indexPath];
if (![cell.selectButton isSelected]) {
cell.selectButton.selected = YES;
}else {
cell.selectButton.selected = NO;
}
// return, 不進(jìn)入下級(jí)界面
return;
}
5.相關(guān)的數(shù)據(jù)操作
進(jìn)入多選狀態(tài)后的取消和確定:
設(shè)置_isMultipleSelect的值, 然后刷新tableview
選中后的操作(刪除等):
使用NSMutableArray等容器存儲(chǔ)選中模型, 操作后刷新tableview