Ios 奇怪的问题:UITableViewCell无法检测到触摸,尽管它';s的附件视图
我有一个非常简单的Ios 奇怪的问题:UITableViewCell无法检测到触摸,尽管它';s的附件视图,ios,objective-c,swift,uitableview,Ios,Objective C,Swift,Uitableview,我有一个非常简单的UITableView,里面有一个UITableView单元格数据源和代理设置正确。它正确地显示数据。但是tableview的细胞对触摸没有反应尽管电池的附件视图对触摸做出响应 我尝试为cell和cell的accesory视图创建分段。只有连接到附件视图的segue才能工作。(另外,didselectrowatinexpath方法不会被调用) 原因可能是什么,以及如何调试这样的问题?这里可能有几个问题,我应该做的是: 1:确保可以选择单元格(tableView.allowsel
UITableView
,里面有一个UITableView单元格<代码>数据源
和代理
设置正确。它正确地显示数据。但是tableview的细胞对触摸没有反应尽管电池的附件视图对触摸做出响应
我尝试为cell和cell的accesory视图创建分段。只有连接到附件视图的segue才能工作。(另外,didselectrowatinex
path方法不会被调用)
原因可能是什么,以及如何调试这样的问题?这里可能有几个问题,我应该做的是: 1:确保可以选择单元格(
tableView.allowselection=true
)
2:在您的委托中,添加
tableView(tableView:UITableView,didSelectRowAtIndexPath:nsindepath)
(注意不要添加“diddenselect”方法:-)
方法;在那里添加一个断点以查看它是否接收到触摸
这就是我要检查的。这里可能有几个问题,我应该做的是: 1:确保可以选择单元格(
tableView.allowselection=true
)
2:在您的委托中,添加
tableView(tableView:UITableView,didSelectRowAtIndexPath:nsindepath)
(注意不要添加“diddenselect”方法:-)
方法;在那里添加一个断点以查看它是否接收到触摸
不过,这就是我要检查的。最后我发现了问题。UITableViewCell没有检测到触摸的原因是,我在视图中添加了一个点击手势识别器,即使我点击该单元格,该点击手势甚至会触发并取消任何其他事件。为了避免这种情况,需要添加以下行 Swift
tap.cancelsTouchesInView = false
目标-C
[tap setCancelsTouchesInView:NO];
最后我发现了问题。UITableViewCell没有检测到触摸的原因是,我在视图中添加了一个点击手势识别器,即使我点击该单元格,该点击手势甚至会触发并取消任何其他事件。为了避免这种情况,需要添加以下行 Swift
tap.cancelsTouchesInView = false
目标-C
[tap setCancelsTouchesInView:NO];
在我的例子中,我的单元格有清晰的颜色,所以只有标签和图像这样的子视图才能检测到点击。 一种解决方案是将背景颜色更改为带有不透明度的黑色
对于我的情况,我的单元格颜色清晰,因此只有标签和图像等子视图才能检测到点击。 一种解决方案是将背景颜色更改为带有不透明度的黑色
谢谢你的回答。我已经尝试了一切可能的解决办法来完成这项工作。这些都不管用。正如我在问题标题中提到的,它不会检测任何触摸,但附件视图会接收触摸。问题确实是没有收到触摸,即使每一个可能出错的事情都被正确设置并再次检查。谢谢你的回答。我已经尝试了一切可能的解决办法来完成这项工作。这些都不管用。正如我在问题标题中提到的,它不会检测任何触摸,但附件视图会接收触摸。问题确实是没有收到触摸,即使每一个可能出错的地方都已正确设置并仔细检查。您是否在
自定义单元格中使用了按钮
,不,这只是一个通用单元格,甚至不是自定义单元格。数据是否正确加载到单元格中。如果您不介意的话,请将您的tableview委托方法的实现放入其中。是的,数据加载正确。没有实现委托方法,只是从单元到另一个视图的一段。然而,我也用实现的委托进行了测试,因为没有收到任何接触,委托方法也不会被调用(在cell的contentView上)。但是,当我点击它的附件视图时,代理和分段工作。因此,委托或数据源没有问题。问题是单元格的内容视图未接收到触摸。您使用的是哪个iOS版本您是否在自定义单元格内使用任何按钮
不,它只是一个通用单元格,甚至不是自定义单元格数据是否正确加载到单元格。如果您不介意的话,请将您的tableview委托方法的实现放入其中。是的,数据加载正确。没有实现委托方法,只是从单元到另一个视图的一段。然而,我也用实现的委托进行了测试,因为没有收到任何接触,委托方法也不会被调用(在cell的contentView上)。但是,当我点击它的附件视图时,代理和分段工作。因此,委托或数据源没有问题。问题是cell的内容视图未接收到触摸。您使用的是哪个iOS版本