ios - 如何在调用 UIImagePickerController 后隐藏状态栏?

标签 ios swift3 uiimagepickercontroller statusbar

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

有几个问题的答案不适用于 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
    }
}

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

最佳答案

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

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

    open override var prefersStatusBarHidden: Bool {
        return true
    }
}

这适用于 iOS 10 上的 Swift 3。

关于ios - 如何在调用 UIImagePickerController 后隐藏状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41456270/

相关文章:

swift3 - iOS 10 和 swift 3 转换问题

ios - 无法将类型 '[CustomObject]' 的值转换为预期参数类型 '[_]'

swift - 是否可以通过 imagePicker 更改使用相机获得的图像的大小?

ios - 在不使用实时数据库的情况下使用 while 循环从 Firebase 存储检索和加载图像?

ios - SwiftUI SQLite ForEach 列表数据

ios - 手势识别器和 SceneKit

ios - ApplePay `paymentAuthorizationViewController:didAuthorizePayment:handler:` 在 Xcode Simulator 10.3 中未调用

ios - Xcode 升级/Swift 2 到 3 迁移破坏了 Storyboard socket 连接,我如何一次修复它们?

camera - 是否可以在 iPad 2 上创建全屏 UIImagePickerController(带相机源)?

ios - 进入后台模式时关闭 UIImagePickerController