iOS技术

iOS TableView 左滑删除方法

2018-02-22  本文已影响2779人  浅笑回忆念旧时

刚开始的时候,我还自己在自定义的cell里面加手势,计算偏移量做左滑操作,后来才发现,好蠢啊,出力不讨好。唉。现在分享一下我发现的新方法,都是tableView自带的方法。完全不用在花时间自定义。

第一种。我直接上代码啦~~

//tableView自带的左滑删除

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

    //第二组可以左滑删除

    if (indexPath.section == 2) {

        return YES;

    } 

    return NO;

}

// 定义编辑样式

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {

    return UITableViewCellEditingStyleDelete;

}

// 进入编辑模式,按下出现的编辑按钮后,进行删除操作

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

    if (editingStyle == UITableViewCellEditingStyleDelete) {

        if (indexPath.section == 2) {

           //这里做删除操作

        }

    }

}

// 修改编辑按钮文字

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {

    return @"删除";

}

这就是第一种方法,直接copy可用,我这里是第二组的cell可以左滑,可以自己更改,也可以更改样式,不止删除一种操作。点击删除 之后的我空在那,自己可以添加代码的。

第二种,直接上代码 哈哈哈

- ( UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {

    //删除

    UIContextualAction *deleteRowAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"delete" handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {

        [self.titleArr removeObjectAtIndex:indexPath.row];

        completionHandler (YES);

        [self.tableView reloadData];

    }];

    deleteRowAction.image = [UIImage imageNamed:@"删除"];

    deleteRowAction.backgroundColor = [UIColor redColor];

    UISwipeActionsConfiguration *config = [UISwipeActionsConfiguration configurationWithActions:@[deleteRowAction]];

    return config;

}

这个方法是iOS11之后的方法,可以设置image和title ,还自带动画效果,体验一下吧。

上一篇下一篇

猜你喜欢

热点阅读