UIView.qmui_viewController不够准确
Bug 表现
当手动设置[viewController setView:[[UIView alloc] init]]时,view.qmui_viewController就无法找到了。
截图
目前只有在
viewDidLoad时才设置qmui_viewController
预期的表现
保险起见,应改为:
其他信息
- 设备: All
- iOS 版本: All
- Xcode 版本: All
- QMUI 版本: 4.8.0
一直觉得利用 hook 生命周期的方式去设置 qmui_viewController 没有必要且容易疏漏的 实测递归 view.responder?.next 的方式获取容器 UIViewController 的时间为 5-10 μs(注意是“微秒”不是“毫秒”),这个级别的耗时在 UI 层是可以忽略不计的,兼容性也更好
一直觉得利用 hook 生命周期的方式去设置 qmui_viewController 没有必要且容易疏漏的 实测递归 view.responder?.next 的方式获取容器 UIViewController 的时间为 5-10 μs(注意是“微秒”不是“毫秒”),这个级别的耗时在 UI 层是可以忽略不计的,兼容性也更好
我测试了下,view.responder?.next和qmui_viewController,在大部分场景下两者是相等的,但是在某些情况下是不同的,如下图所示:
提这个issue,是由于App上报了这个错误,我一开始也是递归 responder?.next,但实际上customView所在的控制器是UICompatibilityInputViewController,textView属于delegate.window上的,customView属于inputWindow上的,两个视图在不同的window上时view.responder?.next和qmui_viewController就不相等了,还是qmui_viewController准确些
即刻修复,但过阵子再更新版本😂
即刻修复,但过阵子再更新版本😂
一年没更新了😭,大佬求更新