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 }
时间: 2024-10-20 11:03:13

iOS 隐藏状态栏的相关文章

iOS隐藏状态栏

有时候,要求在程序启动的过程中隐藏状态栏,勾上上面即可. #pragma mark - 在启动入口 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { application.statusBarHidden = NO; } 就这么简单.

ios 隐藏状态栏,时间

if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // iOS 7 [self prefersStatusBarHidden]; [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; } - (BOOL)prefersStatusBarHidden { return YES;//隐藏为YES,显示为NO }

iOS开发- 隐藏状态栏(电池栏)

分为两种情况: 1. 想要隐藏某个视图的状态栏, 比方说, 从界面A, push 到界面B的时候, 界面A原本显示状态栏, 然而我们须要界面B不显示状态栏. 这时候, 能够这样做: 在B中实现: - (void)viewDidLoad { [super viewDidLoad]; if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // iOS 7 [self prefersStatusBar

iOS之隐藏状态栏

iOS7中,不仅应用的风格有一定的变化,状态栏变化比较大,我们可以看到UIViewController的状态栏与导航栏基本是一体的.因此UIVIEWCONTROLLER的hide/show状态的方法也跟其他版本的不一样了. 在iOS7以前的版本,hide/show是通过以下代码实现 [cpp] view plain copy [[UIApplication sharedApplication] setStatusBarHidden:YES(NO) withAnimation:UIStatusBa

iOS 应用隐藏状态栏

有时候在 Storyboard 和 target 里的设定并不足以使得应用能够完全隐藏状态栏. 这时候需要到 Info.plist,添加一项:View controller-based status bar appearance,并把值设为 NO.

如何在iOS 7.0中隐藏状态栏

使用Cordova做了一个小项目,在原来iOS6的时候显示挺好,升级为iOS7后,每次App启动后都会显示状态栏,而且状态栏和App的标题栏重叠在一起,非常难看,因此需要将状态栏隐藏起来. 首先,考虑了采用Code的方式,在MainViewControoler.m中写下如下代码: 但是测试并不生效. 于是尝试修改Info.plist文件,因为每个工程Info.plist的位置可能不尽相同,最好在底部的搜索框中进行搜索.添加了下面两个属性后,在启动App,状态栏隐藏了. 参考资料: 1.iOS7

【iOS开发-状态栏】关于怎么更改系统自带状态栏(变为白色或者隐藏)

简单方法 iOS7以后系统状态栏就交给控制器管理了 只要在controller里面实现方法就可以改变状态栏 //使状态栏变为白色 -(UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; } //隐藏状态栏 -(BOOL)prefersStatusBarHidden { return YES; } 终极方法 有时候上述方法改变不了状态栏,例如有UITabBarController和UINav

IOS7 隐藏状态栏 (电池栏)

电池状态栏. //方法一(代码设置): 现在ios7已经更改为透明,并且不占用屏幕高度.其中隐藏及显示的方法如下: 在uiviewcontroller的子类下,调用: if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // iOS 7 [self prefersStatusBarHidden]; [self performSelector:@selector(setNeedsStatusBa

iOS 更改状态栏、导航栏颜色的几种方法

ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分:背景部分:就是显示黑色或者图片的背景部分: (一)设置statusBar的[前景部分] 简单来说,就是设置显示电池电量.时间.网络部分标示的颜色, 这里只能设置两种颜色: 默认的黑色(UIStatusBarStyleDefault)白色(UIStatusBarStyleLightContent)可以设置的地方有两个:plist设置里面 和 程序代码里初始化设