美文网首页iOS、swift技术交流!
iOS9修改状态栏字体颜色

iOS9修改状态栏字体颜色

作者: 光明程辉 | 来源:发表于2016-10-31 00:12 被阅读261次

    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修改状态栏字体颜色

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