didSelectRowAtIndexPath不适用于xCode 9

时间:2017-12-04 08:17:24

标签: ios objective-c uitableview xcode8 xcode9

所以我必须在这个非常大的项目上工作,它仍然是在客观C上。

我只是要求进行一个非常小的更改(隐藏一个按钮)所以我这样做了它并且构建正常并且一切看起来正常但是然后项目中的所有tableView都不会起作用,因为didSelectRowAtIndexPath从未被调用(滚动工作并正确显示数据)

与之前相比,唯一改变的是我使用了xCode 9。

现在,当我使用xCode 8构建它时,它再次起作用,所以至少我们可以继续,但我仍然想知道发生了什么。

我使用与主项目完全相同的逻辑创建了一个较小的项目(单元格是自定义的,您可以滑动等) 当我从头开始做它时,它工作正常。

所以我觉得它更像是一个xCode错误/错误而不是代码。 有人会有任何想法吗?

2 个答案:

答案 0 :(得分:1)

您是否在该UI上的任何位置使用了点按? 因为当点击时:UI中的UITapGestureRecognizer仅在长按单元格时才会选择工作

或者您可以在viewdidload函数中设置

UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
[self.tableView addGestureRecognizer:gestureRecognizer];
gestureRecognizer.cancelsTouchesInView = NO; 

答案 1 :(得分:0)

请检查以下

enter image description here 它应该是单一选择

enter image description here 应该启用交互

并检查您是否在所有图层的顶部创建了任何按钮,这些按钮都是针对其他操作。

检查并回复。