iOS 使用IQKeyboardManager出现导航栏电池条变

2018-09-25  本文已影响17人  学而不思则罔思而不学则殆

问题: IQ 键盘上移五分之一的机会状态栏变成白色
解决方法: 找到 IQKeyboardManager 框架中IQUIView+Hierarchy.m 文件,修改 -(UIViewController *)topMostController 方法中的代码代码如下。

- (UIViewController *)topMostController
{
    UIViewController  *rootController = [UIApplication  sharedApplication].keyWindow.rootViewController;
    if ([rootController isKindOfClass:[UITabBarController class]]) {
        UITabBarController *tabBarController = (UITabBarController *)rootController;
        UINavigationController *navController = tabBarController.selectedViewController;
        UIViewController *viewController = (UIViewController *)navController.visibleViewController;
        while (viewController.presentedViewController) {
            viewController = (UIViewController *)viewController.presentedViewController;
        }
        return viewController;
    } else if ([rootController isKindOfClass:[UINavigationController class]]) {
        UINavigationController *navController = (UINavigationController *)rootController;
        return navController.visibleViewController;
    } else if ([rootController isKindOfClass:[UIViewController class]]) {
        return rootController;
    } else {
        return nil;
    }
}
上一篇下一篇

猜你喜欢

热点阅读