http://www.gocalf.com/blog/iphone-dev-hide-status-bar.html
1、在info.plist里面 Status bar is initially hidden 设置为 YES
2、在appDelagate里面 设置 [application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade]; 即可。
App启动时就隐藏状态栏
用了上面的方法之后,App在运行过程中,状态栏确实被隐藏起来了,但是我发现在App启动的那个瞬间,还是可以看到状态栏的,然后一闪即过。虽然时间很短暂,看着还是很不舒服。为了让状态栏从启动的时候就隐藏起来,可以修改<YOUR_APP>-Info.plist。如果在Xcode中修改,在根结点Infomation Property List下面新加一项“Status bar is initially hidden”(不用手动输入,可以直接在下拉菜单中选取)。这是个BOOL类型的键值,将Value栏中的复选框勾选上即可。
![status_bar_initially_hidden status_bar_initially_hidden](http://www.gocalf.com/blog/wp-content/uploads/2011/11/status_bar_initially_hidden.png)
在Info.plist中设置状态栏为隐藏
也可以以文本方式修改,在根节点中添加UIStatusBarHidden键值,值设为true即可:
1
2 |
<key>UIStatusBarHidden
</key>
<true/> |
始终隐藏状态栏
如果在App中需要状态栏一直是隐藏着的,可以在<YOUR_APP>AppDelegate的application:didFinishLaunchingWithOptions:
函数中进行设置,比如下面这段示意代码可以让状态栏以淡出的方式隐藏起来:
1
2 3 4 5 6 7 8 9 10 |
-
(
BOOL
)application
:
(UIApplication
*
)application didFinishLaunchingWithOptions
:
(
NSDictionary
*
)launchOptions
{
// Override point for customization after application launch. [application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade]; // Add the view controller's view to the window and display. [self.window addSubview :viewController.view ]; [self.window makeKeyAndVisible ]; return YES; } |
相关的方法或属性是UIApplication的:
- setStatusBarHidden:withAnimation:(iOS 3.2+)
- statusBarHidden(iOS 2.0+)
另外还有一个方法setStatusBarHidden:animated:,已经不推荐使用了(deprecated in iOS 3.2)