實現Cell的滑動刪除, 須要實現UITableView的代理UITableViewDelegate中以下方法:spa
//先要設Cell可編輯代理
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPathit
{io
return YES;table
}class
//定義編輯樣式方法
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPathim
{樣式
[tableView setEditing:YES animated:YES];tab
return UITableViewCellEditingStyleDelete;
}
//進入編輯模式,按下出現的編輯按鈕後
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView setEditing:NO animated:YES];
}
如下方法能夠不是必需要實現,添加以下方法可實現特定效果:
//修改編輯按鈕文字
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"刪除";
}
實現Cell可上下移動,調換位置,須要實現UiTableViewDelegate中以下方法:
//先設置Cell可移動
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
//當兩個Cell對換位置後
- (void)tableView:(UITableView*)tableView moveRowAtIndexPath:(NSIndexPath*)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath
{
}
//設置進入編輯狀態時,Cell不會縮進
- (BOOL)tableView: (UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}
//在下面方法中添加 cell.showsReorderControl =YES;
//使Cell顯示移動按鈕
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath;
實現Cell的滑動刪除, 須要實現UITableView的代理UITableViewDelegate中以下方法:
//先要設Cell可編輯
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
//定義編輯樣式
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
// 只在選中的cell上顯示刪除按鈕
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
if (path == indexPath) {
[tableView setEditing:YES animated:YES];
}
return UITableViewCellEditingStyleDelete;
}
//進入編輯模式,按下出現的編輯按鈕後
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView setEditing:NO animated:YES];
}
如下方法能夠不是必需要實現,添加以下方法可實現特定效果:
//修改編輯按鈕文字
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"刪除";
}
實現Cell可上下移動,調換位置,須要實現UiTableViewDelegate中以下方法:
//先設置Cell可移動
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
//當兩個Cell對換位置後
- (void)tableView:(UITableView*)tableView moveRowAtIndexPath:(NSIndexPath*)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath
{
}
//設置進入編輯狀態時,Cell不會縮進
- (BOOL)tableView: (UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}
//在下面方法中添加 cell.showsReorderControl =YES;
//使Cell顯示移動按鈕
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath;