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

Dav*_*man 4 statusbar uiimagepickercontroller ios swift3

新年快乐!

我想在iOS 10.2上调用UIImagePickerController后隐藏状态栏.你知道已经有几个问题有一些答案,但我担心答案不适用于Swift 3.0.

建议的答案是:

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

所以我尝试过:

extension UINavigationController{
    open override var prefersStatusBarHidden: Bool{
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 扩展UIImagePickerController以覆盖prefersStatusBarHidden.

所以我尝试过:

extension UIImagePickerController{
    open override var prefersStatusBarHidden: Bool{
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 创建并使用UIImagePicker的子类

所以我尝试过:

class MyImagePickerController: UIImagePickerController{
    override var prefersStatusBarHidden: Bool{
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是,上述解决方案似乎都不适合我.我想要熟练使用Swift 3.0的iOS开发人员让我知道如何在调用UIImagePickerController后隐藏状态栏.

感谢您的关注和时间!

Sam*_*her 12

可以使用以下扩展名永久隐藏状态栏UIImagePickerController:

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

    open override var prefersStatusBarHidden: Bool {
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)

这适用于iOS 10上的Swift 3.

  • 它就像一个魅力!谢谢一百万,山姆. (2认同)