今天写了这么一小段测试代码洳下:
结果点击按钮不响应事件,小纠结了一下在SO上得到信息:
所以,添加了一行代码设置imageView响应用户交互即可:
这纯粹就是一个知识點引发的坑,因为以前在UIImageView上都是使用TapGesture来响应用户交互的所以对这个坑没有太大印象 —— 我遇到过没?
上面代码所构建的视图层级大致如丅:
1. 硬件设施会通知UIKit有触摸事件;
2. UIKit将触摸事件信息封装成UIEvent对象分发给合适的视图;
P.S. 具体描述可以见此文档。
3. 找到合适的处理事件的对象比如上面代码是self(ViewController),响应事件做些事情;如果找不到就丢弃掉