iOS开发小技巧iOS开发的一些小技巧

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

2016-09-01  本文已影响116人  ZoeZhouZ

自定义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

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

上一篇下一篇

猜你喜欢

热点阅读