状态栏(UIStatus)的使用



状态栏(UIStatus)的使用

状态栏(UIStatus)是指iPhone、iPad、iPod的顶部用于显示网络、时间、电量等的部分,它是高度为20的控件,状态栏的windowLevel为UIWindowLevelStatusBar,而window的windowLevel为UIWindowLevelNormal。所以一般情况下,状态栏位于window之上。

  1. 状态栏字体颜色设置
    在老版的iOS中,状态栏永远都是白色风格。而在iOS7中我们可以根据需求修改每个viewController中状态栏的外观。
    iOS中使用UIStatusBarStyle控制状态栏的字体颜色。在iOS7中,支持两种样式:暗色和亮色,默认情况下,状态栏显示是暗色。也就是说状态栏上的时间、电池指示器和Wi-Fi信号吸纳事为暗色。

    • UIStatusBarStyleDefault
    • UIStatusBarStyleLightContent
      对于状态栏字体颜色设置有三种方法:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

第一种方法(需单个设置):

—————》MainNavigationController.m
- (UIStatusBarStyle)preferredStatusBarStyle
{
//    return self.visibleViewController.preferredStatusBarStyle;此句要和下句一同使用才能改变状态栏的样式,注意只能改变单个;
}

————》MovieViewController.m
//修改状态栏的样式
 1. (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

第二种方法(全局):
我们也可以使用UIApplication的statusBarStyle方法来设置状态栏,不过,首先需要停止使用View controller-base status bar appearance 。在info.plist文件中进行修改,添加一个新的key,名字为View controller-base status bar appearance,并将其值设置为NO。
这里写图片描述
然后可以使用下面的代码来设置状态栏德 风格了:

[[UIApplication sharedApplication]
setStatusBarStyle:UIStatusBarStyleLightContent];

第三种方法:
可以在info中Status bar style(UIStatusBarStyle)对应的Value设置为UIStatusBarStyleLightContent。
这里写图片描述

也可以在General中将Status Bar Style选择为Light。
这里写图片描述

  1. 状态栏的显示与隐藏
[[UIApplication sharedApplication] setStatusBarHidden:NO];

可以在Info中将Status bar is initially hidden(UIStatusBarHidden)对应的Value设置为Yes。
这里写图片描述
也可以在General中将Hide status bar勾选:
这里写图片描述