左滑删除cell方法:(要使用代理)
- (void)tableView:(UITableView*)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath{
// 删除模型
[self.wineArray removeObjectAtIndex:indexPath.row];
// 刷新
[tableViewdeleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationLeft];
}
//修改Delete按钮文字为“删除”
- (NSString*)tableView:(UITableView*)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath*)indexPath{
return@"删除";
// return [NSString stringWithFormat:@"删除-%zd", indexPath.row];
}
左滑删除出现两个按钮的方法:(要使用代理)
按钮:
- (IBAction)remove {
//删除模型数据
[self.wineArray removeObjectAtIndex:0];
[self.wineArray removeObjectAtIndex:0];
//刷新
NSArray*indexPaths = @[ [NSIndexPath indexPathForRow:0inSection:0], [NSIndexPath indexPathForRow:1inSection:0] ];
[self.tableView deleteRowsAtIndexPaths:indexPathswithRowAnimation:UITableViewRowAnimationMiddle];
}
- (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) {
NSLog(@"点击了关注");
// 收回左滑出现的按钮(退出编辑模式)
tableView.editing=NO;
}];
UITableViewRowAction*action1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除"handler:^(UITableViewRowAction*action,NSIndexPath*indexPath) {
//要删除的哪一行
[self.wineArray removeObjectAtIndex:indexPath.row];
[tableViewdeleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationAutomatic];
}];
编辑模式
#pragma mark -数据刷新操作
- (IBAction)remove {
[self.tableView setEditing:!self.tableView.isEditing animated:YES];
}
#pragma mark - <代理方法>
// 只要实现了这个方法,左滑出现Delete按钮的功能就有了,点击了“左滑出现的Delete按钮”会调用这个方法,点击了删除按钮
- (void)tableView:(UITableView*)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath{
NSLog(@"kkkk");
//删除模型
[self.wineArray removeObjectAtIndex:indexPath.row];
//刷新
[tableViewdeleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationLeft];
}
//修改Delete按钮文字为“删除”
- (NSString*)tableView:(UITableView*)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath*)indexPath{
return@"删除";
}
批量删除
#pragma mark -数据刷新操作
- (IBAction)multipleRemove {//批量删除按钮方法
[self.tableView setEditing:!self.tableView.isEditing animated:YES];
self.removeButton.hidden= !self.tableView.isEditing;
}
- (IBAction)remove {
self.tableView.indexPathsForSelectedRows = [0, 1]
//获得需要删除的模型数据
NSMutableArray*deletedWineArray = [NSMutableArray array];
for(NSIndexPath*indexPathin self.tableView.indexPathsForSelectedRows) {
[deletedWineArrayaddObject:self.wineArray[indexPath.row]];
}
//删除模型数据
[self.wineArray removeObjectsInArray:deletedWineArray];
//刷新
[self.tableView deleteRowsAtIndexPaths:self.tableView.indexPathsForSelectedRows withRowAnimation:UITableViewRowAnimationLeft];
}
#pragma mark - <代理方法>
// 只要实现了这个方法,左滑出现Delete按钮的功能就有了,点击了“左滑出现的Delete按钮”会调用这个方法
- (void)tableView:(UITableView*)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath{
NSLog(@"点击了代理方法");
//删除模型
[self.wineArray removeObjectAtIndex:indexPath.row];
//刷新
[tableViewdeleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationLeft];
}
//修改Delete按钮文字为“删除”
- (NSString*)tableView:(UITableView*)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath*)indexPath{
return@"删除";
}