iOS修改状态栏的风格

大家都知道,在iOS7之后,苹果的界面风格发生了翻天覆地的变化,也就是扁平化的出现。那么这就有了我们今天这篇小技术贴的存在了。跟以往相比,状态栏(状态栏 就是指的最上面的20像素高的部分 )由以往的万年不变的白色风格变成了现在半透明的了。我们可以修改每个view controller中状态栏的外观。通过UIStatusBarStyle常量可以指定状态栏的内容是暗色或亮色。默认情况下,状态栏的显示是暗色。也就是说,状态栏上的时间、电池指示器和Wi-Fi信号显示为暗色。在这里还要注意的是,状态栏是分前景和背景两部分的。所谓的前景部分指的就是显示电池、时间等部分;背景部分就是现实白色或者图片的背景部分;那么在实际开发过程中,就需要我们根据不同的controller来修改我们的状态栏的风格,那该怎么修改呢?请看如下代码:

方法一

-(UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent;  // Light content, for use on dark backgrounds
} 

- (BOOL)prefersStatusBarHidden 
{ 
    return YES; // 是否隐藏状态栏
} 

方法二

(1)在project target的Info.plist中,插入一个新的key,名字为View controller-based status bar appearance,并将其值设置为NO。

(2) 接下来使用如下代码进行设置

- (void)initializeStatusBarWithApplication:(UIApplication *)application
{
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
        application.statusBarStyle = UIStatusBarStyleLightContent; // Light content, for use on dark backgrounds
    } else {
        application.statusBarStyle = UIStatusBarStyleDefault; // Dark content, for use on light backgrounds
    }
    application.statusBarHidden = NO; // 是否隐藏状态栏
}

最终效果

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

推荐阅读更多精彩内容

  • 状态栏上的时间、电池指示器和Wi-Fi信号显示为暗色。在这里还要注意的是,状态栏是分前景和背景两部分的。所谓的前景...
    Nidalee丶阅读 329评论 0 2
  • http://www.cocoachina.com/industry/20131104/7287.html -- ...
    一点坚持心阅读 676评论 1 1
  • ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到:前景部分:就是指...
    J_HX阅读 2,268评论 0 0
  • 十年之前,初入世,喜欢读书,研究的书籍是《犹太人的致富秘籍》,《卡耐基名人成功之道》,《女人就是要有钱》,关于提高...
    c1dd5a05d5c8阅读 368评论 0 0
  • 经历了火车晚点三个小时之后,我总算是踏上了去西安的旅行。西安有我的旧友,虽然是渐行渐远,话不投机,联系日渐减少,可...
    西有葳蕤阅读 214评论 0 0