如何知道iOS 6 UITableViewCell上是否点按了删除按钮

时间:2014-04-18 23:40:20

标签: ios objective-c uitableview

有没有办法,我们可以知道UITableViewCell上的删除按钮是在iOS 6中点击的。在iOS 7中,showsDeleteConfirmation属性设置为NO但在iOS 6中它保持为YES。

我想区分何时点击红色按钮以及点击删除按钮。这在iOS 7中运行良好,但在iOS 6中运行不正确。

3 个答案:

答案 0 :(得分:1)

在视图控制器上添加委托回调:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        //Tap delete here
    }    
}

答案 1 :(得分:0)

试试这个......

1.首先在标题文件中添加UITableViewDataSourceUITableViewDelegate ..

2.添加此代码以检查删除确认

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(editingStyle == UITableViewCellEditingStyleDelete)
    {
          NSLog(@"Delete Success");
    }

    else
    {
          NSLog(@"Delete Canceled");
    }
}

答案 2 :(得分:0)

我不知道您是否仍然需要此功能,但如果我理解正确,您可以继承UITableViewCell并使用-(void)willTransitionToState:(UITableViewCellStateMask)state检查UITableViewCellStateMask UITableViewCellStateShowingDeleteConfirmationMask

-(void)willTransitionToState:(UITableViewCellStateMask)state 
{
     if ( (state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask )
    {
      // showing delete confirmation 
    }

}