QMUI_iOS
QMUI_iOS copied to clipboard
在iPhone或iPad版本下,QMUIKeyboardManager的handleKeyboardNotificationWithUserInfo回调有问题
Bug 表现
两个问题:
1、iPad悬浮键盘下,当键盘展示时没有问题,但是当键盘隐藏时,handleKeyboardNotificationWithUserInfo方法的hideBlock
并不会回调,一直回调的是showBlock
,猜测是[QMUIKeyboardManager visibleKeyboardHeight] <= 0 && !keyboardUserInfo.isTargetResponderFocused
的问题。
2、iPad下,当键盘展示时关联的视图是有动画的,当键盘隐藏时,关联的视图没有动画
3、iPhone下,若集成了IQKeyboardManager
,点击键盘上方ToolBar的完成按钮,也不会调用hideBlock
截图
1、
2、无
3、
IQKeyboardManager
中完成按钮所调用的方法:
如何重现
iPad横屏模式下,打开QMUIDemo中的QMUIKeyboardManager
示例,点击发表想法
或者发表评论
可以重现,前者更直观一些。
最新版「微信读书」亦可复现
预期的表现
正常情况下,应该是能够正常回调hideBlock,且当键盘隐藏时,发表想法
或者发表评论
视图有动画
其他信息
- 设备: 模拟器 iPad Pro (12.9-inch) (4th generation)
- iOS 版本: iOS 13.4.1
- Xcode 版本: Xcode 11.4.1
- QMUI 版本: 4.1.3
目前的解决方案:
此回复记录一下建议: 1、QMUIKeyboardManager的实例可以暴露出lastUserInfo、currentResponder、isTargetResponderFocused,目前业务上是通过KVC获取的。