修改iOS 状态栏颜色

  • 在状态栏的位置添加一个view,设置view的颜色,这个颜色就可以作为状态栏的底色
    UIView *barView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, self.view.frame.size.width, 20)]; barView.backgroundColor = [UIColor blueColor]; [self.navigationController.navigationBar addSubview:barView];

  • 设置Navigation bar的barstyle会影响status bar的字的颜色和背景色(但是只有黑白两种)
    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

  • 修改自定义navigationcontroller挤baseViewController

  1. 自定义一个UINavigationController的子类,在子类中重写这个方法:
    -(UIStatusBarStyle)preferredStatusBarStyle { UIViewController* topVC = self.topViewController; return [topVC preferredStatusBarStyle]; }
  2. 在ViewController中重写下面这个方法:
    -(UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容