IQKeyboardManager iOS 11 引起状态栏变为白色问题

问题描述

当输入结束的时候,状态栏变为白色,与自己定义的导航栏颜色形成鲜明的对比.

收起下方评论的时候,状态栏变色

解决方案

找到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;
                    
    }
}

实现效果:


修改完成后,不会发生变化
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容