奇怪的问题:UITableViewCell不会检测到触摸,虽然它是配件视图

我有一个非常简单的UITableViewUITableViewCell中。 DataSourceDelegates被正确设置。 它显示正确的数据。 但是tableview的单元格不响应触摸。 虽然细胞的辅助视图确实响应触摸

我尝试为单元格和单元格的辅助视图创buildsegues。 只有连接到附件视图的segue才能正常工作。 ( didSelectRowAtIndexpath方法也不会被调用)

可能是什么原因,以及如何debugging这样的问题?

这里可能有几个问题,我应该做的是:

1:确保可以select单元格( tableView.allowsSelection = true

2:在你的委托中,添加

tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)

(请注意,不要添加“didDeSelect”方法:-))

方法; 在那里添加一个断点,看它是否接收到触摸

这是我会检查,虽然。

最后我发现了这个问题。 UITableViewCell没有检测到触摸的原因是,我有一个点击手势识别器添加到视图,即使当我点击单元格时,这个点击手势甚至会触发并取消任何其他事件。 为了避免以下行需要添加。

迅速

  tap.cancelsTouchesInView = false 

Objective-C的

 [tap setCancelsTouchesInView:NO];