iOS应用中UITableView左滑自定义选项及批量删除的实现

实现UITableView左滑自定义选项

当UITableView进入编辑模式,在进行左滑操作的cell的右边,默认会出现Delete按钮,如何自定义左滑出现的按钮呢?

只需要实现UITableView下面的这个代理方法。

- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath

{

    UITableViewRowAction *likeAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"喜欢" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {

      // 实现相关的逻辑代码

      // ...

      // 在最后希望cell可以自动回到默认状态,所以需要退出编辑模式

      tableView.editing = NO;

    }];

    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {

      // 首先改变model

      [self.books removeObjectAtIndex:indexPath.row];

      // 接着刷新view

      [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

      // 不需要主动退出编辑模式,上面更新view的操作完成后就会自动退出编辑模式

    }];

    return @[deleteAction, likeAction];

}

以上是 iOS应用中UITableView左滑自定义选项及批量删除的实现 的全部内容, 来源链接: utcz.com/z/320551.html

回到顶部