zoukankan      html  css  js  c++  java
  • iOS开发中的错误整理,iOS9之后的UIWindow(TopWindow)以及UIWindow与statusBar的关系

    iOS9之后的UIWindow的问题(TopWindow),以及UIWindow与statusBar之间的联系

    1.出现的问题

    • iOS9之后UIWindow必须要指定一个根控制器,不然会报错!iOS9之前只是警告
    • 当创建了window,指定了根控制器之后.在别的控制器设置statusBar的样式和颜色没有效果.因为statusBar的样式和颜色是由位于最顶端的UIWindow的控制器决定的!

    2.问题解决

    • 将topWindow实现为单例模式(这里简单实现,完整的单例模式请参考之前的整理),为了以后无论在哪里都可以拿到topWindow

    • 对外界提供两个属性,一个决定statusBar的样式,另一个决定statusBase的显示与隐藏

    • 重写这两个属性的setter,只要外界赋值,就执行[self setNeedsStatusBarAppearanceUpdate];,不要直接调用prefersStatusBarHidden方法等,没用

    • 重写设置statusBase的两个方法,返回外界给的值

  • 相关阅读:
    Git 命令使用小笔记
    一个关于if else容易迷惑的问题
    浏览器与Node环境下的Event Loop
    镜面反射
    Socket通信原理
    Git
    vba工具
    为什么要用prototype
    Oracle 列转换为行, 逗号拼接.
    JS中的phototype
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5668498.html
Copyright © 2011-2022 走看看