如何在UITableView中出现“删除”按钮时捕获事件?

时间:2012-08-15 22:21:13

标签: objective-c ios cocoa-touch uitableview

我有一个包含一堆自定义单元格的表格部分,每个自定义单元格都有两个紧挨着的UITextField。

当表格进入编辑模式时,我必须调整每个单元格的右侧UITextField,以便它不会被单元格左侧显示的删除减号从屏幕上推下。

当用户按下删除减号并且“删除”m按钮出现在单元格的右侧时,我需要做类似的事情。我需要调整正确的UITextField的大小,以便它不会被Delete按钮部分遮挡。但是,当删除按钮出现时,我找不到任何协议方法或任何提醒我的信息。

当用户滑动要删除的行时,此方法似乎有效:

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

但是,当用户按下红色减号按钮进行删除时,它不会调用该功能。

2 个答案:

答案 0 :(得分:0)

尝试使用这些:

 - (void)willTransitionToState:(UITableViewCellStateMask)newState{
    [super willTransitionToState:newState];

    //deletebutton (minusbutton) will be animated in
    if(newState == UITableViewCellStateShowingEditControlMask){

    }

    //deletebutton (minusbutton) will be animated out
    if(newState == UITableViewCellStateDefaultMask){

    }

    //deletebutton (minusbutton) will be rotated 90 degrees ccw
    if(newState == 3){

    }

    //deletebutton (minusbutton) will be rotated 90 degrees cw
    if(newState == UITableViewCellStateShowingEditControlMask){

    }
}

答案 1 :(得分:0)

cell.showingDeleteConfirmation是您正在寻找的。