你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發之tableView完成左滑刪除功用

iOS開發之tableView完成左滑刪除功用

編輯:IOS開發綜合

前言

這幾天要完成左劃刪除的功用,發現網上很多帖子大多出自一人之手,然後都是 copy 的文章,其實都沒有那麼復雜,只完成一個代理辦法就可以了

辦法如下

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
 if (editingStyle == UITableViewCellEditingStyleDelete) {

 // 刪除數據源的數據,self.cellData是你自己的數據
 [self.cellData removeObjectAtIndex:indexPath.row];
 // 刪除列表中數據
 [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
 }

}

默許刪除的文字為 Delete,要改為中文完成

- (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)

你把代理辦法中這兩個辦法順序搞混了,先刪除數據,再刪除 cell

[self.cellData removeObjectAtIndex:indexPath.row];這個辦法在前

[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];這個辦法在後

還有就是,別2到沒設置代理,tableView.delegate = self;

總結

以上就是關於IOS應用tableView完成左劃刪除功用的全部內容了,希望本文的內容對給IOS開發者們能有一定的協助,假如有疑問大家可以留言交流。

【iOS開發之tableView完成左滑刪除功用】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved