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

自定义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可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,098评论 3 38
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,266评论 4 61
  • 一阵风吹来,淡淡地桂花香! 远山,葱茏在一片诗意中! 总喜欢,回味旧时...
    铁杆同学阅读 327评论 0 3
  • 《学校就是江湖》 带你走进没有血雨,却是腥风的学校江湖。 让你了解学校生活的另一面。 学校老师修炼的道场,江湖老师...
    一身书生气阅读 175评论 0 1
  • 不得不说韩国的犯罪片拍的确实很牛逼,电影剧情对人性的深刻探讨,社会问题的真实写照,大多数以复仇、乱伦、翻案为主,它...
    隔壁呆瓜阿方阅读 3,247评论 0 0