iOS tableview 的didSelect方法不执行

今天在开发过程中遇到:
自定义一个View,在View上添加事件需要弹出tableView选择项,进行操作。但是,当tableview的代理设置后,cell正常显示,但是点击cell的时候, didSelect方法不执行。

排查顺序:
1.代理方法设置,并且其他代理方法也都正常执行;
2.cell上的视图点击事件和cell的点击事件没有冲突;

最终,查找出来的原因是:
自定义的视图View的高度为50,而tableView的高度为100,并且tableView添加在View 上。也就是:子视图的大小超过了父视图的大小。

解决方案:

  1. 是自定义的视图需要超过tableview的大小。

  2. 直接把tableview放在window上,这样子就不用担心大小。

你可能感兴趣的:(iOS tableview 的didSelect方法不执行)