UIButton& UITextField将阻止UITableViewCell被滑动删除

时间:2014-10-18 05:33:22

标签: ios uitableview delete-row

UIButton中有UITextFieldUITableViewCell。轻扫UIButtonUITextField时,删除按钮enter image description here不会出现。我在SO和Google上搜索答案,有类似的问题Swipe left gestures over UITextField,但没有正确答案。

我在iOS 8上遇到了这个问题。

修改     设置self.tableView.panGestureRecognizer.delaysTouchesBegan = YES;后,它适用于UITextField的单元格。但是,当我从UIButton开始拖动时,删除按钮显示并且UIButton被解雇,我不希望UIButton被解雇。

1 个答案:

答案 0 :(得分:1)

我不知道如何阻止UIButton首先触发,但UITableViewCell具有属性showingDeleteConfirmation,可用于检查删除按钮是否正在所示。我所做的是在UIButton TouchUpInside的{​​{1}}操作中查看此内容,如下所示

- (void)buttonPressed:(id)sender
{
    if (!self.showingDeleteConfirmation) {
        // Handle button press
    }
}

(此示例来自UITableViewCell子类,因此它使用self来访问该属性。)

这,除了

tableView.panGestureRecognizer.delaysTouchesBegan = YES;

您已经拥有,可以正确识别滑动并且不执行按钮操作。