UITableViewCell:隐藏删除按钮和设置删除按钮的标题

首先设置好导航栏中的self.editButtonItem,可以自定义其标题:

    self.navigationItem.rightBarButtonItem = self.editButtonItem;
    [self.editButtonItem setTitle:@"显示按钮"];

并开启可编辑功能:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}


隐藏删除按钮

可以使用UITableViewDelegate协议中的方法来实现在Cell中显示删除按钮或插入按钮:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;

使用:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
//    return UITableViewCellEditingStyleNone;
//    return UITableViewCellEditingStyleInsert;
    return UITableViewCellEditingStyleDelete;
}

在SDK中UITableViewCellEditingStyle定义如下:

typedef NS_ENUM(NSInteger, UITableViewCellEditingStyle) {
    UITableViewCellEditingStyleNone,
    UITableViewCellEditingStyleDelete,
    UITableViewCellEditingStyleInsert
};

分别对应没有按钮、删除按钮和插入按钮。

在点击右上角的按钮后,每个Cell中显示的按钮如下:

(1)Delete

UITableViewCell:隐藏删除按钮和设置删除按钮的标题_第1张图片


(2)Insert

UITableViewCell:隐藏删除按钮和设置删除按钮的标题_第2张图片


(3)None

UITableViewCell:隐藏删除按钮和设置删除按钮的标题_第3张图片



设置删除按钮的标题

使用UITableViewDelegate协议中的另一个方法可以自定义删除按钮的标题:

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(3_0);

使用:

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
    return @"警告:删除";
}

运行结果:

UITableViewCell:隐藏删除按钮和设置删除按钮的标题_第4张图片


如果要开启在Cell中向左划时显示删除按钮,必须实现以下方法:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        
    }   
    else if (editingStyle == UITableViewCellEditingStyleInsert) {
        
    }   
}




Demo下载地址:UITableView:隐藏删除按钮和设置删除按钮的标题

你可能感兴趣的:(UITableViewCell)