您的位置:首页 > 其它

打开相册和相机时状态栏不隐藏的问题

2015-05-28 20:25 357 查看
打开相册和相机时状态栏不隐藏的问题

问题情况:

<1>IOS7要隐藏状态栏,需要在info.plist文件中添加View controller-based status bar appearance ,并且把值设置为NO。

但是打开相册或相机的时候,状态栏还是透明显示出来了,在网上找了一下解决方案,终于解决了。(原因待查)

在使用了UIImagePickController的controller里或者UIImagePickController的子类里添加如下代码。其中JKIsIOS7OrLater()是判断当前设备的版本号是不是ios7

- (void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

if (JKIsIOS7OrLater()) {

[[UIApplication sharedApplication] setStatusBarHidden:YESwithAnimation:NO];

}

}

- (void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

if (JKIsIOS7OrLater()) {

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];

}

}

BOOL JKIsIOS7OrLater(void)

{

if ([[[UIDevice currentDevice] systemVersion] floatValue]>= 7.0)
{

return YES;

} else {

return NO;

}

}

<2>本视图的状态栏本来是隐藏的,但是打开相册或相机后,状态栏就显示出来了,并且我在该类的父视图(根视图)设置了隐藏状态栏的代码

父类中隐藏状态栏代码如下:

#pragma mark - 隐藏状态栏
-(BOOL)prefersStatusBarHidden
{

return
YES;//隐藏状态栏
}
-(UIViewController *)childViewControllerForStatusBarHidden{

return
nil;
}
按道理它的子时图是不显示状态栏的,事实也是这样的,但是一个奇葩的现象出现了,我在这个视图打开相机或者相册后,状态栏又显示出来了,真是蛋疼!!!!问题解决中。。。。。
最后发现了这个问题是我的编译环境和另一个人编译环境不同照成的。还是用第一种情况的解决方案即可解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: