IQKeyboardManager 横屏后 Toolbar 显示异常

一、问题描述

如下图,在强制操作横屏后回归竖屏,显示异常, 而且是 iOS 14 才出现的。

显示异常
二、问题定位
  • 确实是通知成 横屏的 键盘了
IQKeyboardManager
  • 正常时:kbFrame:
(origin = (x = 0, y = 407), size = (width = 375, height = 260))
  • 异常时:kbFrame:
(origin = (x = 0, y = 115), size = (width = 667, height = 260))

说白了就是键盘通知中UIKeyboardFrameEndUserInfoKey值, 没有真正跟随横竖屏转换而改变

三、问题解决
  • 那就是在此时切换成横竖屏的时候,进行设置:
[[UIDevice currentDevice] setValue:@(UIInterfaceOrientationPortrait)
                            forKey:@"orientation"];

PS: 如果代码中有依赖UIScreen的bounds属性、UIWindow的bounds属性、键盘通知中UIKeyboardFrameEndUserInfoKey值、[UIApplication sharedApplication].statusBarFrame的地方, 那么切换横竖屏的时候就需要注意啦。引用自: iOS7到iOS8 一个通用的横竖屏幕切换总结

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容