如何在UITableView的滑动删除手势中提供自定义删除按钮?

时间:2010-04-19 19:58:47

标签: iphone uitableview

我在UITableView中实现了默认的刷卡到删除手势,现在我觉得这个默认按钮实际上在上下文中看起来不太好。此外,它似乎没有本地化。在法语中,它仍然显示“删除”为文本。

如何在此处提供自定义按钮?这就是我实现那个人的方式:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    // do stuff, a lot of stuff...really a lot...
}

2 个答案:

答案 0 :(得分:8)

你想在UITableViewDelegate协议中使用tableView:titleForDeleteConfirmationButtonForRowAtIndexPath:

答案 1 :(得分:0)

制作自定义单元格类并包含:

- (void)willTransitionToState:(UITableViewCellStateMask)state{
    [super willTransitionToState:state];
    if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) {
        for (UIView *subview in self.subviews) {
            if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {
                UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)];
                [deleteBtn setImage:[UIImage imageNamed:@"delete.png"]];
                [[subview.subviews objectAtIndex:0] addSubview:deleteBtn];
                [deleteBtn release];
            }
        }
    }
}

其中@“delete.png”是您的删除图片