iOS開發(fā)之tableView實現(xiàn)左滑刪除功能
前言
這幾天要實現(xiàn)左劃刪除的功能,發(fā)現(xiàn)網(wǎng)上很多帖子大多出自一人之手,然后都是 copy 的文章,其實都沒有那么復雜,只實現(xiàn)一個代理方法就可以了
方法如下
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // 刪除數(shù)據(jù)源的數(shù)據(jù),self.cellData是你自己的數(shù)據(jù) [self.cellData removeObjectAtIndex:indexPath.row]; // 刪除列表中數(shù)據(jù) [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; } }
默認刪除的文字為 Delete,要改為中文實現(xiàn)
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath { return @"刪除";//默認文字為 Delete }
下面這兩個代理方法不用寫也可以,默認就是這樣
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { return UITableViewCellEditingStyleDelete; } - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return YES; }
如果你報了這個錯誤:
'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (5) must be equal to the number of rows contained in that section before the update (5), plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out)
你把代理方法中這兩個方法順序搞混了,先刪除數(shù)據(jù),再刪除 cell
[self.cellData removeObjectAtIndex:indexPath.row];
這個方法在前
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
這個方法在后
還有就是,別2到?jīng)]設(shè)置代理,tableView.delegate = self;
總結(jié)
以上就是關(guān)于iOS利用tableView實現(xiàn)左劃刪除功能的全部內(nèi)容了,希望本文的內(nèi)容對給iOS開發(fā)者們能有一定的幫助,如果有疑問大家可以留言交流。
- iOS應(yīng)用開發(fā)中對UIImage進行截取和縮放的方法詳解
- iOS應(yīng)用開發(fā)中使用UIScrollView控件來實現(xiàn)圖片縮放
- iOS UITableView展開縮放動畫實例代碼
- iOS開發(fā)中Quartz2D控制圓形縮放和實現(xiàn)刷幀效果
- iOS實現(xiàn)點擊微信頭像(放大、縮放、保存)效果
- iOS tableView實現(xiàn)頭部拉伸并改變導航條漸變色
- iOS App中UITableView左滑出現(xiàn)刪除按鈕及其cell的重用
- 解決iOS11刷新tableview會出現(xiàn)漂移的現(xiàn)象
- IOS實現(xiàn)左右兩個TableView聯(lián)動效果
- iOS TableView頭視圖根據(jù)偏移量下拉縮放效果
相關(guān)文章
iOS App開發(fā)中使用設(shè)計模式中的單例模式的實例解析
單例模式是最簡單和基本的一種設(shè)計模式,下面我們就簡單解讀一下iOS中單例設(shè)計模式的用法,示例代碼還是為傳統(tǒng)的Objective-C,主要為了體現(xiàn)單例模式的思想,需要的朋友可以參考下2016-05-05objective-c實現(xiàn)點到直線的距離及與垂足的交點
這篇文章主要給大家介紹了利用objective-c實現(xiàn)點到直線的距離及與垂足的交點的相關(guān)資料,文中給出了詳細的實現(xiàn)思路和實現(xiàn)代碼,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-04-04iOS的UI開發(fā)中Modal的使用與主流應(yīng)用UI結(jié)構(gòu)介紹
這篇文章主要介紹了iOS的UI開發(fā)中Modal的使用與主流應(yīng)用UI結(jié)構(gòu),代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-12-12針對iOS開發(fā)的一些Xcode使用技巧小結(jié)
這篇文章主要介紹了針對iOS開發(fā)的一些Xcode使用技巧小結(jié),Xcode是Mac上編寫iOS應(yīng)用的開發(fā)環(huán)境,需要的朋友可以參考下2015-12-12iOS?Lotusoot模塊化工具應(yīng)用的動態(tài)思路
項目的不斷更迭,導致項目越來越大,越來越臃腫,為了讓項目更加條理,需要對項目進行模塊化處理,為了減少模塊之間的耦合,于是就有了Lotusoot這個工具2022-08-08