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

感觉很奇怪 一直都在用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出现在屏幕最顶部)