调用 UIImagePickerController 后如何隐藏状态栏? [英] How to hide status bar after calling UIImagePickerController?

查看:17
本文介绍了调用 UIImagePickerController 后如何隐藏状态栏?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 iOS 10.2 上调用 UIImagePickerController 后隐藏状态栏.

I want to hide the status bar after calling UIImagePickerController on iOS 10.2.

有几个问题的答案不适用于 Swift 3.0.

There are several questions with answers that don't work for Swift 3.0.

建议的答案是:

  • 扩展 UINavigationController 以覆盖 preferStatusBarHidden,因为 UIImagePickerController 是 UINavigationController 的子类.

所以我尝试了:

extension UINavigationController{
    open override var prefersStatusBarHidden: Bool{
        return true
    }
}

  • 扩展 UIImagePickerController 以覆盖 prefersStatusBarHidden.
  • 所以我尝试了:

    extension UIImagePickerController{
        open override var prefersStatusBarHidden: Bool{
            return true
        }
    }
    

    • 创建并使用 UIImagePicker 的子类
    • 所以我尝试了:

      class MyImagePickerController: UIImagePickerController{
          override var prefersStatusBarHidden: Bool{
              return true
          }
      }
      

      以上解决方案都不适合我.

      None of the above solutions work for me.

      推荐答案

      状态栏可以通过下面的 UIImagePickerController 扩展永久隐藏:

      The status bar can be permanently hidden with the following extension to UIImagePickerController :

      extension UIImagePickerController {
          open override var childViewControllerForStatusBarHidden: UIViewController? {
              return nil
          }
      
          open override var prefersStatusBarHidden: Bool {
              return true
          }
      }
      

      这适用于 iOS 10 上的 Swift 3.

      This is working for Swift 3, on iOS 10.

      这篇关于调用 UIImagePickerController 后如何隐藏状态栏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆