打开相册和相机时状态栏不隐藏的问题
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;
}
按道理它的子时图是不显示状态栏的,事实也是这样的,但是一个奇葩的现象出现了,我在这个视图打开相机或者相册后,状态栏又显示出来了,真是蛋疼!!!!问题解决中。。。。。
最后发现了这个问题是我的编译环境和另一个人编译环境不同照成的。还是用第一种情况的解决方案即可解决。
问题情况:
<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;
}
按道理它的子时图是不显示状态栏的,事实也是这样的,但是一个奇葩的现象出现了,我在这个视图打开相机或者相册后,状态栏又显示出来了,真是蛋疼!!!!问题解决中。。。。。
最后发现了这个问题是我的编译环境和另一个人编译环境不同照成的。还是用第一种情况的解决方案即可解决。
相关文章推荐
- 使用JUnit进行单元测试
- Android 开发工具类 16_NotificationActivity
- Linux虚拟地址空间布局
- 一些项目——Heritage from father
- JNDI技术简介
- 东航航空货运系统技术解析(二)配置服务端与新建界面层
- 今年目标
- 正则表达式入门
- 01-CEO才是天花板
- POJ2774:Long Long Message(后缀数组)
- destoon常用标签
- Java基础Day01-概述
- 线程中notify()和notifyAll()异同
- 第十三周 项目四--点、圆的关系(6)
- Perl 若A则B判断的表示方法
- 明源售楼系统技术解析 销售控制(三)
- 使用import和exec运行模块文件的异同
- 01-微信6.2
- 第九章与运行环境交互2015-05-28
- hdu 1026 Ignatius and the Princess I