美文网首页
iOS 修改状态栏的背景色和前景色

iOS 修改状态栏的背景色和前景色

作者: 浅宇落 | 来源:发表于2019-02-27 14:44 被阅读0次

    在项目中修改状态栏的颜色是很常用的功能.

    • 修改状态栏的颜色有两种:
      1. 前景色
      2. 后景色

    修改状态栏的前景色

    • 在UINavigationController控制器中实现下面两个方法
    - (UIViewController *)childViewControllerForStatusBarStyle {
        return self.topViewController;
    }
    - (UIViewController *)childViewControllerForStatusBarHidden {
        return self.topViewController;
    }
    
    • 在想要修改UIViewController控制器中实现下面两个方法
    - (UIStatusBarStyle)preferredStatusBarStyle {
        return UIStatusBarStyleDefault; //状态栏的前景色
    }
    - (BOOL)prefersStatusBarHidden {
        return NO; //状态栏是否隐藏
    }
    

    这就是修改状态栏的前景色

    修改状态栏的后景色

    • 在想要修改UIViewController控制器中实现下面两个方法
    //设置状态栏背景颜色
    - (void)setStatusBarBackgroundColor:(UIColor *)color {
        
        UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
        if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
            statusBar.backgroundColor = color;
        }
    }
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        [self setStatusBarBackgroundColor:[UIColor whiteColor]];
    }
    

    这就是修改状态栏的后景色

    相关文章

      网友评论

          本文标题:iOS 修改状态栏的背景色和前景色

          本文链接:https://www.haomeiwen.com/subject/zgqfuqtx.html