IQKeyBoardManager-键盘toolBar出现在屏幕最顶部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IQKeyBoardManager-键盘toolBar出现在屏幕最顶部相关的知识,希望对你有一定的参考价值。

参考技术A 感觉很奇怪 一直都在用IQKeyBoardManager,但是最近遇到了一个问题,就是 如果不把这个属性设置为 keyboardManager.enableAutoToolbar = YES;就会出现toolBar跑到手机屏幕的最上方,但是如果设置该属性为YES,又会出现 其他界面如果使用键盘 键盘不会将输入框顶到键盘上面 而是输入框被键盘遮挡。找了一些测试机发现,系统在13.0以下的不会出现该问题,13.0以上才会出现。然后网上一直找方法,但都是没有用的说法。最后在GitHub上,终于找到了类似的问题,原因和解决方法如下:

为了兼容 ios 13,项目里设置了 hook UIViewController 并且 modalPresentationStyle = UIModalPresentationFullScreen。导致 keychain 的密码弹框 UIKeyboardHiddenViewController_Autofill 也设置为 UIModalPresentationFullScreen。加上 [viewControllerToPresent isKindOfClass:[UINavigationController class]] 判断就好了。
是这里的问题,修改后好了。

附上GitHub上的问题: https://github.com/hackiftekhar/IQKeyboardManager/issues/1647

以上是关于IQKeyBoardManager-键盘toolBar出现在屏幕最顶部的主要内容,如果未能解决你的问题,请参考以下文章

iOS 键盘框架IQKeyboardManager使用

使用 IQKeyboardManager 关闭键盘以及触发按钮的 touchupinside 事件

IQKeyboardManager 在 UITextField 上点击时隐藏键盘

IQKeyBoardManager :隐藏特定文本字段的键盘

IQKeyBoardManager键盘处理

在 IQKeyboardManager 中始终保持视图位于顶部(不要使用键盘滚动)