状态栏颜色修改

-(void)viewWillAppear:(BOOL)animated {

    [superviewWillAppear:animated];

    self.navigationController.delegate =self;

    self.navigationController.navigationBar.translucent =NO;//不透明

    //导航条下面的黑线

    self.navigationController.navigationBar.clipsToBounds =NO;

    //刷新状态栏背景颜色

    // [self setNeedsStatusBarAppearanceUpdate];

    //设置状态栏颜色

    [selfsetStatusBarBackgroundColor:redUIColor];

}

//一定要在viewWillDisappear里面写,如果写在viewDidDisappear里面会出问题!!!!

- (void)viewWillDisappear:(BOOL)animated{

    [superviewWillDisappear:animated];

    self.navigationController.navigationBar.translucent =NO;//透明

    [selfsetStatusBarBackgroundColor:redUIColor];

}

//设置状态栏颜色

- (void)setStatusBarBackgroundColor:(UIColor *)color {

    UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];

    NSLog(@"statusBar.backgroundColor--->%@",statusBar.backgroundColor);

    if([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {

        statusBar.backgroundColor = color;

    }

}

- (UIStatusBarStyle)preferredStatusBarStyle{

    returnUIStatusBarStyleLightContent;

}

- (void)viewDidLoad {

    [selfsetStatusBarBackgroundColor:redUIColor];

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

推荐阅读更多精彩内容