iOS 隐藏状态栏

当系统版本号高于iOS7.0,那么原来的隐藏状态栏方式就可能不好使了. 因为你要是用修改plist的方法实现的隐藏方法,还是管用的.

plist方法:
key:Status bar is initially hidden    value : YES   自从开启程序,状态栏就被隐藏了
key:View controller-based status bar appearance  value : YES   进入程序后,状态栏被隐藏.(也就是欢迎画面 Default.png 时候显示状态栏)
 
代码方法:
代码方法的缺点就是,不能隐藏欢迎画面的状态栏.因为开启欢迎画面的时候,appDelegate还没有执行 didFinishLaunching.
优点是,可以在指定的ViewController里面显示状态栏,只需把代码的YES改为NO
 
 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 2     // Override point for customization after application launch.
 3     if ([UIDevice currentDevice].systemVersion.floatValue < 7.0) {
 4         [UIApplication sharedApplication].statusBarHidden = YES;
 5     }
 6     else if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
 7     {
 8         // iOS7及以上
 9         [self prefersStatusBarHidden];
10         //这个是更新状态栏的显示状态,只支持iOS7及以上,使用performSelector是为了不影响主线程的其他工作
11         [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
12     }
13     return YES;
14 }
15 
16 - (BOOL)prefersStatusBarHidden
17 {
18     return YES;//隐藏为YES,显示为NO
19 }

 

 
 
posted @ 2016-01-27 18:27  友朋  阅读(762)  评论(0编辑  收藏  举报