iOS开发之状态栏隐藏(问题篇)
2014-08-28 14:08
260 查看
一、基本应用
相信基本的隐藏办法网上很多,这里只简单说明一下
1⃣️改变全局状态栏
1.在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为NO。即更改为StatusBar的状态不随UIViewController的不同而不同
2.
2⃣️交由控制器管理
1.在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为YES
2.在控制器中实现下面的方法
二、出现的问题
我当时出现的问题是上述方法的2⃣️无法隐藏我想要隐藏的那个控制器的状态栏,苦寻很久,终于在一次吃饭当时,想通可能问题出在什么地方了
单独设置的viewController必须为最高级别的viewController,(every top-level view controller in your app (other than a standard UIKit container view controller) )中调用,这是苹果官方告诉我们的。但是什么是最高级呢?
其实就是:我们的控制器不能是被包含在其他的控制器中的(导航控制器的话需要是根控制器),我的项目因为框架使用了SWRevealViewController。所以如果我想在里面隐藏某个控制器的状态栏,就必须隐藏在view即将出现的时候,隐藏这个控制器的状态栏,在view即将消失的时候,再使它出现。
之后我给这个框架增加了一个BOOL属性,再调用setNeedsStatusBarAppearanceUpdate方法来强制调用隐藏状态栏的方法即可。
问题完美解决!
相信基本的隐藏办法网上很多,这里只简单说明一下
1⃣️改变全局状态栏
1.在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为NO。即更改为StatusBar的状态不随UIViewController的不同而不同
2.
[[UIApplication sharedApplication]setStatusBarHidden:YES];
2⃣️交由控制器管理
1.在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为YES
2.在控制器中实现下面的方法
- (BOOL)prefersStatusBarHidden { return YES; }
二、出现的问题
我当时出现的问题是上述方法的2⃣️无法隐藏我想要隐藏的那个控制器的状态栏,苦寻很久,终于在一次吃饭当时,想通可能问题出在什么地方了
单独设置的viewController必须为最高级别的viewController,(every top-level view controller in your app (other than a standard UIKit container view controller) )中调用,这是苹果官方告诉我们的。但是什么是最高级呢?
其实就是:我们的控制器不能是被包含在其他的控制器中的(导航控制器的话需要是根控制器),我的项目因为框架使用了SWRevealViewController。所以如果我想在里面隐藏某个控制器的状态栏,就必须隐藏在view即将出现的时候,隐藏这个控制器的状态栏,在view即将消失的时候,再使它出现。
之后我给这个框架增加了一个BOOL属性,再调用setNeedsStatusBarAppearanceUpdate方法来强制调用隐藏状态栏的方法即可。
问题完美解决!
相关文章推荐
- iOS开发之隐藏tabbar--解决隐藏后依然不能响应对应位置事件的问题
- iOS开发中 修改状态栏颜色 或者隐藏状态栏颜色
- 前端开发在IOS上元素active状态无法触发问题
- iOS开发之解决隐藏tabbar后原位置无法响应点击事件的问题
- ios开发之状态栏隐藏
- iOS开发之隐藏tabbar--解决隐藏后依然不能响应对应位置事件的问题 分类: ios技术 2015-04-21 11:24 261人阅读 评论(0) 收藏
- iOS开发中实时监听app的网络连接状态问题
- 关于iOS开发中隐藏导航栏的问题
- iOS开发之-- 从当前隐藏导航界面push到下一个显示导航界面出现闪一下的问题
- iOS开发隐藏tabBar的问题
- iOS开发之隐藏tabbar--解决隐藏后依然不能响应对应位置事件的问题
- IOS开发笔记之十四——使用系统相册或相机导致状态栏隐藏的问题(bug总结四)
- iOS开发之iOS9、iOS8隐藏app状态栏、 显示app状态栏 、 自由切换app状态栏的状态
- 【iOS-Cocos2d游戏开发之七】在cocos2d中添加/删除系统组件,并解决View设置透明会影响View中的其他组件的问题!【11月28日更新解决添加组件Cocos2d动画停止播放的BUG】
- iOS开发之---静态库的编译以及相关问题的处理
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- IOS开发问题汇总
- iOS开发笔记[13/50]:解决SenTestingKit/SenTestingKit.h: No such file or directory问题
- 【iOS-Cocos2d游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)以及禁止游戏中自动锁屏问题
- 【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;