iOS修改状态栏的风格

作者: R呀呦 | 来源:发表于2015-11-07 00:06 被阅读1587次

    大家都知道,在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; // 是否隐藏状态栏
    }
    

    最终效果

    相关文章

      网友评论

      • unhangcorn:好人一生平安
      • 9岁就很6:你好,代码要写在哪里?appdelegat?
        R呀呦:@Nslog_hsw 你用的是方法几
        9岁就很6:@R呀呦 我写了没效果呀
        R呀呦:@Nslog_hsw 是的 AppDelegate
      • d15eb9289fc7:然并卵。。我这没有作用。。。
        d15eb9289fc7:已解决,谢谢,是自定义tabbar出了问题,抱歉!
        R呀呦:@龙战神 不知你用的是哪种方法没起作用

      本文标题:iOS修改状态栏的风格

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