美文网首页iOS开发小技巧iOS开发的一些小技巧
iOS开发 之 自定义UITableView的左滑编辑

iOS开发 之 自定义UITableView的左滑编辑

作者: ZoeZhouZ | 来源:发表于2016-09-01 17:37 被阅读116次

    自定义tableView的左滑编辑,系统默认的为红色删除。如果想变成多个按钮,自定义文字和颜色,在写完tableView的代理方法之后用下面的方法即可实现。

    - (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        UITableViewRowAction *editAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"编辑" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
            
            // 实现相关的逻辑代码
            // ...
            // 在最后希望cell可以自动回到默认状态,所以需要退出编辑模式
            tableView.editing = NO;
        }];
        editAction.backgroundColor = [UIColor redcolor];
        
        
        UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
            // 首先改变model
    //        [self.model removeObjectAtIndex:indexPath.row];
            // 接着刷新view,删除对应的行
    //        [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
            // 不需要主动退出编辑模式,刷新完成后就会自动退出编辑模式
        }];
        
        return @[deleteAction, editAction];
    }
    
    

    “编辑”和“删除”按钮的顺序跟你最后放到数组中的顺序有关。
    **
    如果只是实现最简单的样式,不妨使用以上的方法,一个方法就可以搞定!
    如果想实现相对复杂一些的样式,可以尝试下面推荐的三方。
    **

    https://github.com/CEWendel/SWTableViewCell
    它是一个使用起来很简单的UITableViewCell子类,可以通过左右滑动调出view,view上有工具按钮(和iOS 7的系统Mail类似)。

    1.png 2.png

    实现样式任您挑选,快去开始你的新工作吧~

    相关文章

      网友评论

      • 吾名唐宋:可以可以,不错,那边按钮顺序,是跟数组反的吗

      本文标题:iOS开发 之 自定义UITableView的左滑编辑

      本文链接:https://www.haomeiwen.com/subject/esncettx.html