/**
* 代理方法
* 它可以设置更多的左侧按钮
* 但是它要覆盖了之前系统的删除按钮
*/
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
{ //重置删除按钮
UITableViewRowAction *toTop = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"删除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
// 更新数据
[self.students removeObjectAtIndex:indexPath.row];
//更新 tableview
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
//反馈执行了删除操作
NSLog(@"删除");
[tableView setEditing:NO animated:YES];
}];
//设置按钮的背景色
toTop.backgroundColor =[UIColor redColor];
//添加一个置顶按钮
UITableViewRowAction *toTop1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"置顶" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
//刷新数据
[self.students exchangeObjectAtIndex:indexPath.row withObjectAtIndex:0];
//把所选项置顶
NSIndexPath *firstIndexPath = [NSIndexPath indexPathForRow:0 inSection:indexPath.section];
[tableView moveRowAtIndexPath:indexPath toIndexPath:firstIndexPath];
//反馈执行了删除操作
NSLog(@"置顶");
[tableView setEditing:NO animated:YES];
}];
//设置按钮的背景色
toTop1.backgroundColor =[UIColor grayColor];
//返回我们所设置的按钮,但是得以数组的形式返回;
return @[toTop,toTop1];
}