你的位置:首页 > 操作系统

[操作系统]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)prefersStatusBarHidden17 {18   return YES;//隐藏为YES,显示为NO19 }