UITableViewCell UIButton不响应点击事件
最近更新了Xcode到12.1 ,结果运行起来项目后,发现加载到UITableViewCell 中的所有的UIButton无法点击了!无法触发点击事件,这是什么情况。经过各种排序及跟踪events表,明明add上了。。。并且tableView的didSelectRowAtIndexPath方法被执行了。根据先后响应的顺序,这个不应该被执行的呀。。。为啥点击不了?
没办法,只好去查查UITableViewCell的接口是不是有啥变化,无意间看到这个上图这个注释,既然我们使用的是自定义cell那我试着将我的视图添加到这个contentView中。。。结果问题解决了。。。。
之前是直接
[cell addSubview:]是没有问题的,但是现在问题出来了。
故而经过尝试与总结,得出原因:因为最新的iOS的SDK不再遍历cell 的subview去分发事件,而是遍历cell.contentView的subView去分发事件了。所以这样的话,就明子了解决方案。解决方案如下:
1、使用如下方法:
[cell.contentView addSubview:]
2、移除cell的contentView
[cell.contentView removeFromSuperview]