iOS-状态栏设置

SwiftLafree317 • 于 2016-01-26 19:33:00 +0800 • 最后由 hugrup2016-01-29 01:14:58 +0800 1623 阅读

前言

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

隐藏

  • 全局隐藏 工程设置 设置之后会自动在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 file 会自动创建Plist条目,也可以自己手动创建 file 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

回复: 1
  • hugrup 2016-01-29 01:14:58 +0800

    哈,我以前也踩过坑

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,见 Emoji cheat sheet
  • @name 会链接到用户页面,并会通知他
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
Ctrl+Enter