iOS9修改状态栏字体颜色

iOS9修改状态栏字体颜色

第一步:在info.plist中添加一个字段:UIViewControllerBasedStatusBarAppearance 设置值为 NO

第二步,设置状态栏颜色:
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

注意点

1:ios 9 以下操作方式和上面的不同

  • 第一步的key为:view controller -base status bar
  • 第二步的方法为:[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];

2:ios 9 修改状态栏会产生一个警告,这个是xcode的bug,可以忽略 参考地址

//iOS 9 推荐使用 UIViewController preferredStatusBarStyle方法
@available(iOS, introduced=2.0, deprecated=9.0, message="Use -[UIViewController preferredStatusBarStyle]")

这里需要重写preferredStatusBarStyle方法,示例:


var _statusBarStyle:UIStatusBarStyle = UIStatusBarStyle.Default
var statusBarStyle:UIStatusBarStyle {
    set{
        self._statusBarStyle = newValue
        self.setNeedsStatusBarAppearanceUpdate()
    }
    get{
        return self._statusBarStyle
    }
}
override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return self._statusBarStyle
}


var _statusBarHidden:Bool = false;
var statusBarHidden:Bool{
    set{
        self._statusBarHidden = newValue
        self.setNeedsStatusBarAppearanceUpdate()
    }
    get{
        return self._statusBarHidden
    }
}
override func prefersStatusBarHidden() -> Bool {
    return self.statusBarHidden
}
 

你可能感兴趣的:(iOS9修改状态栏字体颜色)