UITableView分組滑動刪除

首先說一下編輯的代理方法:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
    return YES;
}
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
       
    }
}

實現(xiàn)以上代理方法就可以實現(xiàn)刪除;
如果沒有分組的話

// 刪除數(shù)據(jù)源
[self.addressArr removeObjectAtIndex:indexPath.section];
// 刪除cell
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];

可是如果你分組的話,這樣實現(xiàn)刪除就要有bug啦!
所以需要添加一下代碼,實現(xiàn)分組的刪除:

// 更新
    [tableView beginUpdates];
    [self.addressArr removeObjectAtIndex:indexPath.section];
    [tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationLeft];
    [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];
// 結(jié)束更新
    [tableView endUpdates];

deleteSections:indexSetWithIndex:是用來刪除沒有cell的分組;本人的需求是一個分組只有一個數(shù)據(jù)所以不需要判斷;如果你是多個數(shù)據(jù)就要判斷一下是不是最后一個cell,如果只有一個cell就要執(zhí)行這個方法啦;

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

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

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