关于TableViewCell的删除按钮的自定义

系统的删除按钮是红色的,而往往公司想要一个和主色调一样的颜色。这就需要自己再定义了。
代码如下

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
    return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewCellEditingStyleDelete;
}
//改变删除按钮的样式
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewRowAction * delect = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        UIAlertController *alertView = [UIAlertController alertControllerWithTitle:@"提示" message:@"删除这条消息" preferredStyle:UIAlertControllerStyleAlert];
        [alertView addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
#pragma mark 测试阶段先这样写,之后再改
            [_list removeObjectAtIndex:indexPath.row];
            [_MainTab reloadData];
        }]];
        [self presentViewController:alertView animated:true completion:nil];
    }];
    delect.backgroundColor = XHRGBA(91, 178, 187, 1);
    return @[delect];
}

当然也可以实现多个按钮的效果,比如置顶/收藏/删除。因为返回的是数组。

你可能感兴趣的:(关于TableViewCell的删除按钮的自定义)