我爱编程

设置iOS status bar的风格

2015-10-28  本文已影响199人  r_lin

从iOS7开始,状态栏(status bar)的风格有两种:明亮(light)和暗黑(dark),可以使用UIStatusBarStyle常量指定其中一个风格。状态栏默认是dark风格,也就是说时间、电池、Wi-Fi等标志都显示为黑色的。

当你想把默认的暗黑风格改为明亮风格时,可以在想改变风格的view controller中重写preferredStatusBarStyle:方法:

- (UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent; 
}

也可以通过重写prefersStatusBarHidden:方法隐藏状态栏:

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

以上方法只能对单个view controller生效。如果想要全局生效,需要如下操作:
在Info中添加Key:“View controller-based status bar appearance”,把Value设为NO
<img src="https://img.haomeiwen.com/i402200/061a8559b8290deb.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" >
然后在AppDelegate.m的didFinishLaunchingWithOptions方法中加入代码

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

这样,在全局中状态栏都为明亮风格。也可以在同一个位置加入以下代码使状态栏全局隐藏

[[UIApplication sharedApplication] setStatusBarHidden:YES];

也可以只修改Info,不写一行代码而全局改变状态栏的风格。这种情况下以真机为准,模拟器可能不响应更改:

  1. 在Info中添加Key:“View controller-based status bar appearance”,把Value设为NO
  2. 在Info中添加Key:“Status bar style”,把Value设为“Gray style (default)”或者“UIStatusBarStyleLightContent”
上一篇下一篇

猜你喜欢

热点阅读