当系统版本号高于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 }