效果如下:
实现相关的代理方法即可,如下代码:
/**
设置允许侧滑按钮
@param tableView 表格
@param indexPath 位置
@return 是否允许更新
*/
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
/**
设置更新按钮数组
@param tableView 表格
@param indexPath 位置
@return 更新按钮数组
*/
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
// 添加一个'删除'按钮,默认红色背景
UITableViewRowAction *deleteRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"删除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
NSLog(@"删除");
}];
deleteRowAction.backgroundEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
// 添加一个'修改'按钮
UITableViewRowAction *updateRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"修改" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
NSLog(@"修改");
}];
updateRowAction.backgroundColor = [UIColor blueColor];
// 添加一个'更多'按钮
UITableViewRowAction *moreRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"更多" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
NSLog(@"更多");
}];
moreRowAction.backgroundEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
//将设置好的按钮放到数组中返回
return @[deleteRowAction, updateRowAction, moreRowAction];
}