iOS应用中UITableView左滑自定义选项及批量删除的实现
实现UITableView左滑自定义选项
当UITableView进入编辑模式,在进行左滑操作的cell的右边,默认会出现Delete按钮,如何自定义左滑出现的按钮呢?
只需要实现UITableView下面的这个代理方法。
-(NSArray<UITableViewRowAction*>*)tableView:(UITableView*)tableVieweditActionsForRowAtIndexPath:(NSIndexPath*)indexPath { UITableViewRowAction*likeAction=[UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleNormaltitle:@"喜欢"handler:^(UITableViewRowAction*_Nonnullaction,NSIndexPath*_NonnullindexPath){ //实现相关的逻辑代码 //... //在最后希望cell可以自动回到默认状态,所以需要退出编辑模式 tableView.editing=NO; }];
UITableViewRowAction*deleteAction=[UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleDefaulttitle:@"删除"handler:^(UITableViewRowAction*_Nonnullaction,NSIndexPath*_NonnullindexPath){ //首先改变model [self.booksremoveObjectAtIndex:indexPath.row]; //接着刷新view [self.tableViewdeleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationAutomatic]; //不需要主动退出编辑模式,上面更新view的操作完成后就会自动退出编辑模式 }];
return@[deleteAction,likeAction]; }