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相关问题的解决方法相关推荐

  1. linux下,matplotlib遇到的相关问题以及解决方法

    linux下,matplotlib遇到的相关问题以及解决方法 参考文章: (1)linux下,matplotlib遇到的相关问题以及解决方法 (2)https://www.cnblogs.com/sh ...

  2. Pycharm环境下调用Qt desinger 常见问题以及解决方法

    Pycharm环境下调用Qt desinger 常见问题以及解决方法 前言 问题1: 提示QT由于找不到msvcp140d.dll无法继续执行代码或者相关问题 问题2: This applicatio ...

  3. ajax三种错误ie,ie下jquery ajax 80020101错误的解决方法

    注意注释 删除这些注释就可以了 Windows下一个MySQL有些错误的解决方法 1.无论是什么提示.我们有一个直接看错误日志.由于它描述了最具体描述错误日志. 于MySQL安装文件夹中找到 my.i ...

  4. 查询电脑上mysql的密码忘记了怎么办_windows下mysql忘记root密码的解决方法 -电脑资料...

    方法一: 1.在DOS窗口下输入net stop mysql5 或 net stop mysql 2.开一个DOS窗口,这个需要切换到mysql的bin目录, 一般在bin目录里面创建一个批处理1.b ...

  5. Ubuntu下网页打开速度缓慢的解决方法

    Ubuntu下网页打开速度缓慢的解决方法 网速较慢可能是网络配置的原因导致,解决步骤如下(以下指令均在Ubuntu终端输入执行): 一.查看Ubuntu版本信息:lsb_release -a 二.使用 ...

  6. 虚拟内存的设置和相关问题的解决方法

    本文详细介绍了虚拟内存的设置和相关问题的解决方法. 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽.为了解决这个问题,Windows ...

  7. linux安装vscode菜单乱码,在Ubuntu 18.04系统下vscode中zsh乱码的解决方法

    以下为你介绍在Ubuntu 18.04 LTS系统下vscode中zsh乱码的解决方法. 详情 在Ubuntu 18.04 LTS系统下安装了zsh和agnoster主题,但是出现了终端中有乱码的情况 ...

  8. nvidia控制面板点了没反应win7_WIN7系统下无法启动NVIDIA控制面板的解决方法

    大家都知道,电脑中几大重要的部分,其中一个就是显卡,很多人平时对于这些都不上 心,只有电脑遇到问题的时候才会检查一下,今天就有位用户来和小编请教说,他电脑的显 示屏打不开了,开机之后没有任何的反应,检 ...

  9. 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 ...

最新文章

  1. 苹果自动驾驶部门「裁员」又「重组」,AI负责人接掌「泰坦」
  2. 使用liner、feather、multiband对已经拼接的数据进行融合(下)
  3. 分享10个实用的超绚CSS3按钮设计
  4. 来自看雪的手把手调试DebugPort清零
  5. 只读副本和Spring Data第1部分:配置数据库
  6. matlab 柯西黎曼方程,【判断题】柯西-黎曼方程成立是函数解析的必要条件.
  7. JQuery实现——黑客帝国代码雨效果
  8. Java解决CAS机制中ABA问题的方案
  9. 阿里架构师的日志:带你快速理解微服务架构;理解微服务架构的核心
  10. matlab中log和复数表示,matlab复数表示
  11. 微信公众号授权H5页面
  12. php随机生成微信昵称(二)
  13. DB9公头母头的定义
  14. 从 QCon 旧金山 2012中学到的关键经验和教训
  15. Springboot母婴店购物系统9j5v8计算机毕业设计-课程设计-期末作业-毕设程序代做
  16. verilog语言的ps2键盘驱动设计
  17. 八皇后问题(dfs)
  18. 数学之路(3)-数据分析(6)
  19. 区块链安全和隐私问题有点与众不同
  20. 苹果再次确立其移动王者地位

热门文章

  1. 【转】课堂教学中如何实现有效师生互动
  2. JAVA算法:走迷宫回溯算法设计(JAVA版本)
  3. 马来西亚SIRIM认证
  4. 【Relax人生法则之躺平方法论】如何优雅地躺平?那些看似无足轻重,实则细思极恐的毒鸡汤。
  5. INTERSECT –谓词中被低估的双向
  6. vmware虚拟机安装 安卓Android x86 8.1
  7. SpringBoot集成网易企业邮箱,亲测可用
  8. Sqoop1和Sqoop2的刨析对比
  9. javascript彩色喷泉
  10. 7.6 Python 实例12-政府工作报告词云