自定義UITableviewCell實(shí)現(xiàn)多選效果

因?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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容