問題:? 升級到iOS11之后點擊鍵盤時導航欄消失 如下圖:
使用版本:pod 'IQKeyboardManager', '~> 5.0.6'
問題原因:IQKeyboardManager 在獲取當前頂層控制器的時候獲取到了tabBarController?
解決辦法:?
找到IQUIView_Hierarchy.m? ?修改-(UIViewController *)topMostController方法? 如下:即可
-(UIViewController *)topMostController{
? ? UIViewController *rootController = [UIApplication sharedApplication].keyWindow.rootViewController;
? ? if([rootController isKindOfClass:[UITabBarController class]]){
? ? ? ? UITabBarController *tabBarController = (UITabBarController *)rootController;
? ? ? ? UINavigationController *selectController = tabBarController.selectedViewController;
? ? ? ? UIViewController *viewController = (UIViewController *)selectController.visibleViewController;
? ? ? ? while (viewController.presentedViewController) {
? ? ? ? ? ? viewController = (UIViewController *)viewController.presentedViewController;
? ? ? ? }
? ? ? ? return viewController;
? ? }else if ([rootController isKindOfClass:[UINavigationController class]]) {
? ? ? ? UINavigationController *selectController = (UINavigationController *)rootController;
? ? ? ? return selectController.visibleViewController;
? ? }else if ([rootController isKindOfClass:[UIViewController class]]) {
? ? ? ? ? ? return rootController;
? ? }
? ? else{
? ? ? ? return nil;
? ? }
}
原文:https://blog.csdn.net/zaiwei123456/article/details/78796990