tableview和cell相关

UITableViewCell左滑删除、批量编辑

2016-06-24  本文已影响1021人  游某人

实现cell的左滑删除

//左滑编辑模式
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    //可在此对点击cell右边出现的按钮进行逻辑处理
}

//设置左滑删除按钮的文字
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
  //设置右边按钮的文字
    return @"删除";
}
- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
{
    
    UITableViewRowAction *action1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"关注" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        
        NSLog(@"点击了关注");
        tableView.editing = NO;
        
    }];
    
    UITableViewRowAction *action2 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        
        //        NSLog(@"点击了删除");
        [self.wineArray removeObjectAtIndex:indexPath.row];
        NSIndexPath *newPath = [NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section];
        [tableView deleteRowsAtIndexPaths:@[newPath] withRowAnimation:UITableViewRowAnimationFade];
        
    }];
    
    return @[action1,action2];
}
//先设置tableView的多选属性
//设置多选
    self.tableView.allowsMultipleSelectionDuringEditing = YES;

//再在点击事件中实现逻辑
- (IBAction)editingModel {
    [self.tableView setEditing:!self.tableView.editing animated:YES];
}
上一篇下一篇

猜你喜欢

热点阅读