状态栏的隐藏与显示
1.程序所有地方隐藏状态栏
方式一:
在项目全局设置内将
Deployment Info内找到 Hide during application launch字意选项,打钩
方式二:
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 隐藏状态栏
application.statusBarHidden = YES;
return YES;
}
注意:
iOS7以后必须在info内增加View controller-based status bar appearance 并设置为YES
2.只在程序启动时隐藏
在项目全局设置内将
Deployment Info内找到 Hide during application launch字意选项,打钩
在回到
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 隐藏状态栏
application.statusBarHidden = NO;
return YES;
}
3.状态栏变白色
方式一:
在项目全局设置内将
Deployment Info内找到status Bar Style 设置成Light
方式二:
1.启动画面修改为白色
在info.plist中添加Status bar style 值为 Transparent black style (alpha of 0.5)
2.全部修改为白色(启动画面除外)
第一步:在Plist里面添加 UIViewControllerBasedStatusBarAppearance 设置为:NO
第二步:在入口类中写:[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
最近为IOS7升级app,遇到了状态栏被导航栏遮住的问题,这里说的是UINavigationBar,自定义的不用看了
绝大多数情况下,只要用下面这两句话就搞定了
self.navigationController.navigationBar.translucent = NO;
self.tabBarController.tabBar.translucent = NO;
注:有时会遇到状态栏一直是一片漆黑
意思就是UINavigationBar的高度会自行调整为44或者64,没有确定的预测方法。而之前作为UINavigationBar背景的图片是44高度的。最后换了张64高度,上面留了20px透明的图片搞定,若按上面的方式状态栏设为黑底的话20px设置为黑色就好了。