UIButton&UITextField将阻止UITableViewCell被刷卡删除

UITableViewCellUIButtonUITextField 。 删除button 在这里输入图像说明 当我滑过UIButtonUITextField时不会出现。 我search的SO和谷歌的答案,有一个类似的问题滑动左手势UITextField ,但没有正确的答案。

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

编辑后设置self.tableView.panGestureRecognizer.delaysTouchesBegan = YES; ,它适用于具有UITextField单元格。 但是,当我从UIButton拖动开始,删除button显示和UIButton解雇,我不希望UIButton被解雇。

我不知道如何防止UIButton在第一时间发射,但UITableViewCell的属性showingDeleteConfirmation可以用来检查是否显示删除button。 我所做的是在TouchUpInsideUIButton动作中检查这个,就像这样

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

(这个例子来自UITableViewCell子类,所以它使用self来访问属性。)

这,除了

 tableView.panGestureRecognizer.delaysTouchesBegan = YES; 

你已经有了,可以正确识别滑动并且不执行button动作。