2017-08-02 78 views
0

我的单元有一个UITextField(绑定到所有边),isUserInteractionEnabled为false。所以我期望当我点击单元格didSelectRowAt时被调用。禁用用户交互的UITableViewCell和UITextField不会调用didSelectRow

Nowm this never happen。它不会调用didSelectRowAt函数。

有什么方法可以找出谁在使用我的活动?同样在视图调试器中,我没有看到任何视图。

+0

您是否将您的VC类设置为tableview的委托?你也可以在代码中实现willSelect –

+0

只是为了调试,从单元中删除所有视图并单击它,它是否进入didSelect函数? –

+0

请确保你的tableView“选择”属性不是“没有选择” –

回答

1
  • 确保你实现了UITableViewDelegate。
  • 确保您尚未在您的 视图中的任何位置添加UITapGestureRecognizer。
+0

我做到了。我刚刚发现,当我按下单元格时,我一直按着didSelectRowAt被调用......这很奇怪 – user1007522

+0

显然,我对不知道的视图控制器有一个挑战。谢谢! – user1007522

0
  • 确保你是VC的UITableView
  • 确保您的tableView的选择不是 “无选择”
  • 而且最后,尽量使用

    textfield.isEnable =假 代表而不是 textfield.isUserInteractionEnable = false

+0

我的代表是tableView.delegate = self tableView.dataSource = self并且选择未被禁用。我现在甚至只是有一个空单元格,它不会触发didSelect – user1007522

+0

你仍然可以通过滚动它与你的tableView交互?如果没有,也许你的tableView。 isUserInteractionEnable被设置为false或者在你的tableView上有一些东西,但是透明。并确保请检查委托函数名称是didSelect但不是didDeselect –

+0

我有didSelectRowAt并且它在我继续按下单元格时调用。不是当我只是点击细胞.. – user1007522