奇怪的问题:UITableViewCell不会检测到触摸,虽然它是配件视图
我有一个非常简单的UITableView
与UITableViewCell
中。 DataSource
和Delegates
被正确设置。 它显示正确的数据。 但是tableview的单元格不响应触摸。 虽然细胞的辅助视图确实响应触摸 。
我尝试为单元格和单元格的辅助视图创buildsegues。 只有连接到附件视图的segue才能正常工作。 ( didSelectRowAtIndex
path方法也不会被调用)
可能是什么原因,以及如何debugging这样的问题?
这里可能有几个问题,我应该做的是:
1:确保可以select单元格( tableView.allowsSelection = true
)
2:在你的委托中,添加
tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
(请注意,不要添加“didDeSelect”方法:-))
方法; 在那里添加一个断点,看它是否接收到触摸
这是我会检查,虽然。
最后我发现了这个问题。 UITableViewCell没有检测到触摸的原因是,我有一个点击手势识别器添加到视图,即使当我点击单元格时,这个点击手势甚至会触发并取消任何其他事件。 为了避免以下行需要添加。
迅速
tap.cancelsTouchesInView = false
Objective-C的
[tap setCancelsTouchesInView:NO];