如何检测是否正在编辑UITableView?

时间:2011-08-26 01:12:07

标签: iphone objective-c cocoa-touch uitableview

我有一个UITableView,我想检测它是否正在被编辑。我想在用户编辑时隐藏我单元格中的一些UILabel。我会在哪里做到这一点?

我试过了:

- (void)willTransitionToState:(UITableViewCellStateMask)state
{
    switch (state) {
        case UITableViewCellStateShowingEditControlMask:
            priceLabel.hidden = YES;
            changeLabel.hidden = YES;
            break;
        case UITableViewCellStateDefaultMask:
            priceLabel.hidden = NO;
            changeLabel.hidden = NO;
            break;

        default:
            break;
    }
}

但是 - 删除没有显示,也没有允许我重新排列单元格的图标。

2 个答案:

答案 0 :(得分:2)

我忘了超级。我的坏。

[super willTransitionToState:state];

答案 1 :(得分:1)

更好的方法是使用:

- (void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath

当编辑即将开始时,此UITableViewDelegate方法将会出现&让你知道发生了哪一行。