iOS-状态栏设置

前言

本菜鸡最近在敲东西时,居然被小小的状态栏难住了半小时,所以怒写本博客


隐藏

  • 全局隐藏
    工程设置


    设置之后会自动在Plist里面加入设置

    也可以自己创建Plist条目
  • Status bar is initially hidden 是刚进入App时进入LunchScreen时的状态栏的设置
  • View controller-based status bar appearance 是开始展示ViewController时的状态栏是否一致
  • 代码隐藏
    全局隐藏
    将View controller-based status bar appearance设为NO
    如果设置为YES则UIApplication.sharedApplication()就会无效
// OC
[UIApplication sharedApplication].statusBarHidden = YES;
// Swift
UIApplication.sharedApplication().statusBarHidden = true;

局部隐藏

override func prefersStatusBarHidden() -> Bool {
     return true;
}
 - (BOOL)prefersStatusBarHidden{
     return YES;
}

局部隐藏的功能是进入页面后隐藏,如果没勾上Hide Status bar 在进入App时还是会有状态栏,出现页面时才会消失

字体样式

  • 工程设置
    现在只有两种状态,默认为黑色就不说了下面是状态栏字体白色设置
    General Status Bar Style 设置成Light


    工程设置

    会自动创建Plist条目,也可以自己手动创建


    General Status Bar Style 设置成Light

    LightContent 白色字体
    Default 黑色字体
  • 代码设置
    全局设置
    将View controller-based status bar appearance设为NO(理论同上)

// OC
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
// Swift
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent;

局部设置

// Swift
 override func preferredStatusBarStyle() -> UIStatusBarStyle {
        return UIStatusBarStyle.LightContent;
    }
// OC
 - (UIStatusBarStyle)preferredStatusBarStyle{
    
    return UIStatusBarStyleLightContent;
}

最后建议一下如果决定全工程完全隐藏就使用工程配置,如果局部隐藏就用代码不做工程设置,如果改来改去的话会容易发生不明错误...
另外一些navigationbar的风格设置也会影响到状态栏的样式,以下几篇博客中有写到
附上其他几篇写的不错状态栏的博客:
http://www.tuicool.com/articles/vIbMry
http://my.oschina.net/shede333/blog/304560

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

推荐阅读更多精彩内容