標籤:uitableview
IOS開發UI基礎--資料重新整理cell的資料重新整理包含以下幾個方面
全域重新整理方法(最常用)
[self.tableView reloadData];// 螢幕上的所有可視的cell都會重新整理一遍
局部重新整理方法
NSArray *indexPaths = @[ [NSIndexPath indexPathForRow:0 inSection:0], [NSIndexPath indexPathForRow:1 inSection:0] ];[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationRight];
NSArray *indexPaths = @[ [NSIndexPath indexPathForRow:0 inSection:0], [NSIndexPath indexPathForRow:1 inSection:0] ];[self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationMiddle];
- 更新資料(沒有添加和刪除資料,僅僅是修改已經存在的資料)
NSArray *indexPaths = @[ [NSIndexPath indexPathForRow:0 inSection:0], [NSIndexPath indexPathForRow:1 inSection:0] ];[self.tableView relaodRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationMiddle];
左滑出現刪除按鈕(如)
左滑出現按鈕.png
/** * 只要實現了這個方法,左滑出現Delete按鈕的功能就有了 * 點擊了“左滑出現的Delete按鈕”會調用這個方法 */- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{ // 刪除模型 [self.wineArray removeObjectAtIndex:indexPath.row]; // 重新整理 [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];}/** * 修改Delete按鈕文字為“刪除” */- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath{ return @"刪除";}
左滑出現N個按鈕
左滑出現更多按鈕.png
/** * 只要實現了這個方法,左滑出現按鈕的功能就有了 (一旦左滑出現了N個按鈕,tableView就進入了編輯模式, tableView.editing = YES) */- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{}/** * 左滑cell時出現什麼按鈕 */- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewRowAction *action0 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"關注" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { // 收回左滑出現的按鈕(退出編輯模式) tableView.editing = NO; }]; UITableViewRowAction *action1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"刪除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { [self.wineArray removeObjectAtIndex:indexPath.row]; [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; }]; return @[action1, action0];}
進入編輯模式
// self.tabelView.editing = YES;[self.tableView setEditing:YES animated:YES];// 預設情況下,進入編輯模式時,左邊會出現一排紅色的“減號”按鈕
在編輯模式中多選
// 編輯模式的時候可以多選self.tableView.allowsMultipleSelectionDuringEditing = YES;// 進入編輯模式[self.tableView setEditing:YES animated:YES];// 獲得選中的所有行self.tableView.indexPathsForSelectedRows;
轉載出處:http://www.jianshu.com/p/286923700c84
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
IOS開發UI基礎--資料重新整理