码迷,mamicode.com
首页 > 移动开发 > 详细

iOS状态栏(UIStatusBar)的设置

时间:2015-12-31 21:03:55      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:

 
UIStatusBar就是应用最上方显示电池和时间信息的状态栏,宽度与屏幕宽度相等,高度为20.对它的显示控制分两种情况,一种是程序启动时,另一种是程序运行的时候。

1.程序启动时。

  • 在Info.plist 中将Status bar is initially hidden(UIStatusBarHidden)对应的Value设置为Yes,程序启动时会隐藏,反之会显示。如果要更改它的字体颜色,在Info中将Status bar style(UIStatusBarStyle)对应的Value设置为你想要的类型(UIStatusBarStyeLightContent。)。

2.程序运行时

  • 同样是分两种情况,称它为效果A和B吧,A是你所有视图控制器的状态栏的显示与否都是可以控制的,但样式是不可控制的(所有视图控制器的状态栏都是一个样式)。B是你可以控制每个状态栏的显示和样式。在info.plist文件中添加一个key值:View controller-based status bar appearance,这个key的意思就是是否让每个控制器单独控制自己的状态栏。
  • 如果想要A效果效果,将View controller-based status bar appearance值设置为NO,然后在视图控制器中加入如下代码来控制显示与否。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

  • 实现B效果需要将View controller-based status bar appearance值设置为YES,然后在需要控制状态栏显示的视图控制器中重写如下方法:

    //是否显示状态栏
    -(BOOL)prefersStatusBarHidden{
        return NO;
    }
    //状态栏的样式
    -(UIStatusBarStyle)preferredStatusBarStyle{
        return UIStatusBarStyleLightContent;
       
    }

题外话:如果你的视图控制器包含一个UINavigationBar,当你选择隐藏状态栏时,UINavigationBar会显示不正常,高度由64变为44,这个问题的解决办法稍后会更新。

iOS状态栏(UIStatusBar)的设置

标签:

原文地址:http://www.cnblogs.com/-zyb/p/5092596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!