iOS7下status bar相关问题的解决方法
iOS7里status bar的实现跟iOS6下有写不一样,前段时间碰到了这个问题,今天总结下
首先网上有很多解决办法,但是有些我觉得并没有按照苹果的思路来,比如把UIViewControllerBasedStatusBarAppearance在plist里设置为NO的方法,这个方法的确可行,但是并不是一个“正确”的思路,而且会有些问题,比如,当你在某个界面隐藏了status bar,退回到上一个界面时,status bar仍然是隐藏的
首先,苹果把UIViewControllerBasedStatusBarAppearance默认的值设为YES,是有他的道理的,新系统下,苹果希望我们的viewcontroller去控制status bar,也就是说,我们大多数的界面应该是统一的,偶尔一些viewcontroller需要status bar特殊控制的,完全交给当前的viewcontroller来做。
代码,其中_isFullScreen需要你在调用setNeedsStatusBarAppearanceUpdate
之前设置好相应的值
#pragma mark - Status Bar- (UIStatusBarStyle)preferredStatusBarStyle
{return UIStatusBarStyleDefault;
}- (BOOL)prefersStatusBarHidden
{return _isFullScreen;
}- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation
{return UIStatusBarAnimationSlide;
}
这样,当你想要控制status bar的展现形式时(不需要动画就去掉),只需要调用
[UIView animateWithDuration:.3 animations:^{if (ISIOS7) {[self setNeedsStatusBarAppearanceUpdate];}}];
iOS7下status bar相关问题的解决方法相关推荐
- linux下,matplotlib遇到的相关问题以及解决方法
linux下,matplotlib遇到的相关问题以及解决方法 参考文章: (1)linux下,matplotlib遇到的相关问题以及解决方法 (2)https://www.cnblogs.com/sh ...
- Pycharm环境下调用Qt desinger 常见问题以及解决方法
Pycharm环境下调用Qt desinger 常见问题以及解决方法 前言 问题1: 提示QT由于找不到msvcp140d.dll无法继续执行代码或者相关问题 问题2: This applicatio ...
- ajax三种错误ie,ie下jquery ajax 80020101错误的解决方法
注意注释 删除这些注释就可以了 Windows下一个MySQL有些错误的解决方法 1.无论是什么提示.我们有一个直接看错误日志.由于它描述了最具体描述错误日志. 于MySQL安装文件夹中找到 my.i ...
- 查询电脑上mysql的密码忘记了怎么办_windows下mysql忘记root密码的解决方法 -电脑资料...
方法一: 1.在DOS窗口下输入net stop mysql5 或 net stop mysql 2.开一个DOS窗口,这个需要切换到mysql的bin目录, 一般在bin目录里面创建一个批处理1.b ...
- Ubuntu下网页打开速度缓慢的解决方法
Ubuntu下网页打开速度缓慢的解决方法 网速较慢可能是网络配置的原因导致,解决步骤如下(以下指令均在Ubuntu终端输入执行): 一.查看Ubuntu版本信息:lsb_release -a 二.使用 ...
- 虚拟内存的设置和相关问题的解决方法
本文详细介绍了虚拟内存的设置和相关问题的解决方法. 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽.为了解决这个问题,Windows ...
- linux安装vscode菜单乱码,在Ubuntu 18.04系统下vscode中zsh乱码的解决方法
以下为你介绍在Ubuntu 18.04 LTS系统下vscode中zsh乱码的解决方法. 详情 在Ubuntu 18.04 LTS系统下安装了zsh和agnoster主题,但是出现了终端中有乱码的情况 ...
- nvidia控制面板点了没反应win7_WIN7系统下无法启动NVIDIA控制面板的解决方法
大家都知道,电脑中几大重要的部分,其中一个就是显卡,很多人平时对于这些都不上 心,只有电脑遇到问题的时候才会检查一下,今天就有位用户来和小编请教说,他电脑的显 示屏打不开了,开机之后没有任何的反应,检 ...
- spring boot 2.0 java8 下 foundError: javax/xml/bind/JAXBException 解决方法
spring boot 2.0 java8 下 foundError: javax/xml/bind/JAXBException 解决方法 参考文章: (1)spring boot 2.0 java8 ...
最新文章
- 苹果自动驾驶部门「裁员」又「重组」,AI负责人接掌「泰坦」
- 使用liner、feather、multiband对已经拼接的数据进行融合(下)
- 分享10个实用的超绚CSS3按钮设计
- 来自看雪的手把手调试DebugPort清零
- 只读副本和Spring Data第1部分:配置数据库
- matlab 柯西黎曼方程,【判断题】柯西-黎曼方程成立是函数解析的必要条件.
- JQuery实现——黑客帝国代码雨效果
- Java解决CAS机制中ABA问题的方案
- 阿里架构师的日志:带你快速理解微服务架构;理解微服务架构的核心
- matlab中log和复数表示,matlab复数表示
- 微信公众号授权H5页面
- php随机生成微信昵称(二)
- DB9公头母头的定义
- 从 QCon 旧金山 2012中学到的关键经验和教训
- Springboot母婴店购物系统9j5v8计算机毕业设计-课程设计-期末作业-毕设程序代做
- verilog语言的ps2键盘驱动设计
- 八皇后问题(dfs)
- 数学之路(3)-数据分析(6)
- 区块链安全和隐私问题有点与众不同
- 苹果再次确立其移动王者地位