【问题标题】:iOS Swift 4 Status bar - disable TranslucentiOS Swift 4 状态栏 - 禁用半透明
【发布时间】:2019-06-27 00:00:00
【问题描述】:

我试图让我的 iOS (webView) 应用的状态栏不是半透明的。

我在 func viewDidLoad() 中试过这个:

self.navigationController?.navigationBar.isTranslucent = false

这在 appDelegate 中:

    UINavigationBar.appearance().isTranslucent = false
    UINavigationBar.appearance().backgroundColor = .white

这是我在滚动页面时得到的..

【问题讨论】:

  • 你有导航栏吗?从你的截图中看不出来
  • 视情况而定,您的视图锚定到 superview 而不是更好的 safeArea。这将解决它。但您可能想要不同类型的行为。
  • 检查你的约束。 scrollView TopConstraint 必须锚定到 SafeArea 而不是 superView

标签: ios swift statusbar


【解决方案1】:

Swift 5.1 iOS 13.0 以防当前的弃用...

 if #available(iOS 13.0, *) {

            let window = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
            let statusBarFrame = window?.windowScene?.statusBarManager?.statusBarFrame

            let statusBarView = UIView(frame: statusBarFrame!)
            self.view.addSubview(statusBarView)
            statusBarView.backgroundColor = .green
        } else {
            //Below iOS13
            let statusBarFrame = UIApplication.shared.statusBarFrame
            let statusBarView = UIView(frame: statusBarFrame)
            self.view.addSubview(statusBarView)
            statusBarView.backgroundColor = .green
        }

【讨论】:

    【解决方案2】:

    您无法更改状态栏的这些属性。您只能设置 .default、.lightContent。但是,如果您愿意,您可以在其下方放置一个视图,该视图不是半透明的并且具有背景色。像这样的:

    let statusBarFrame = UIApplication.shared.statusBarFrame
    let statusBarView = UIView(frame: statusBarFrame)
    self.view.addSubview(statusBarView)
    statusBarView.backgroundColor = .green
    

    那可以进入你的viewDidLoad()ViewController方法

    【讨论】:

      【解决方案3】:

      当我尝试将视图从上方滑入屏幕时,这为我解决了这个问题,但在动画时没有在状态栏上看到它:

      view.clipsToBounds = true
      

      【讨论】:

        【解决方案4】:

        我不认为你可以玩状态栏半透明。但是,您可能想隐藏它。将以下代码粘贴到您的 ViewController 中:

        override var prefersStatusBarHidden: Bool {
          return true
        }
        

        如果它不起作用,请检查您的Info.plist,如果您的状态栏外观是基于 ViewController 的。添加这个:

        <key>UIViewControllerBasedStatusBarAppearance</key>
        <true/>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-02-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多