工作生活

Swift Status bar 设置无效问题

2019-07-03  本文已影响0人  Balopy

近期做项目发现,preferredStatusBarStyle设置无效,始终是默认色,经查找发现只设置

    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }

是无效的,还需要做以下配置:

  1. target -> info.plist 添加 View controller-based status bar appearance 为Yes;
  2. 在主控制器添加
    /// 状态栏样式
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
    override var prefersStatusBarHidden: Bool {
        return false
    }
    /// 状态栏的隐藏与显示动画样式,  这个可以不设置
    override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
        return .slide
    }

  1. 如果用到 UINavigationViewController重写以下方法
   override var childForStatusBarStyle: UIViewController? {
       return self.topViewController
   }
   
   override var childForStatusBarHidden: UIViewController? {
        return self.topViewController
   }
  1. 如果用到 UITabViewController 重写以下方法
   override var childForStatusBarStyle: UIViewController? {
       return self.selectedViewController
   }
   
   override var childForStatusBarHidden: UIViewController? {
       return self.selectedViewController
   }

这几步完成后,就可以解决状态栏不能显示问题了;
更多干货请点击https://juejin.im/post/5d1cbea9e51d45775555094c
欢迎在评论区留言_

上一篇 下一篇

猜你喜欢

热点阅读