【问题标题】:Hide status bar after calling imagePickerController调用 imagePickerController 后隐藏状态栏
【发布时间】:2015-02-16 11:54:39
【问题描述】:

无论我做什么,当我打开图像选择器时,状态栏会一直出现,并且在它被关闭后不会消失。我尝试了各种可以在此站点上阅读的快速解决方案,这些解决方案应该可以解决问题,但根本没有帮助。

这就是我所做的。我将选择器控制器子类化:

class MyImagePickerController: UIImagePickerController {

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        self.setNeedsStatusBarAppearanceUpdate()
    }

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        self.setNavBar()
    }

    override func prefersStatusBarHidden() -> Bool {
        self.setNavBar()
        return true
    }

    override func childViewControllerForStatusBarHidden() -> UIViewController? {
        return nil;
    }

    func setNavBar() -> Void {
        self.setNavBar(65)
    }


    func setNavBar(height: CGFloat) -> Void {
        var frame = self.navigationBar.frame;
        frame.size.height = height;
        self.navigationBar.frame = frame;
    }
}

然后我从 IBoutled 操作中调用它:

    func chooseImageFromGallery() {
    var image  = MyImagePickerController()
    image.delegate = self
    image.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
    image.allowsEditing = false
    self.presentViewController(image, animated: true, completion: nil)


}

另外,当然,我在 Plist 文件中设置了隐藏栏。问题特别是在调用选择器控制器时。 请用 Swift 回答。

【问题讨论】:

  • 您是否在 plist 中设置了“基于视图控制器的状态栏外观”键?
  • 这个布尔值应该设置为 NO 对吗?我把它设置为 NO
  • @RobertBrax,您必须将其设置为“是”。
  • 像@RobertBrax 说它需要是 YES 然后在 UIImagePicker 子类中你需要显式隐藏状态栏
  • 知道了,所以问题是视图控制器没有管理状态栏的权力。一切正常,除了当图像选择器控制器出现时,在第一个屏幕上我看不到状态栏,但是当我浏览到特定相册时它会出现。这没什么大不了的,因为当用户拿起他的照片时,它会保持隐藏状态,但也许你知道即使在用户浏览他的相册的情况下如何强制隐藏?

标签: ios swift uiimagepickercontroller statusbar


【解决方案1】:

使用下面的代码来做到这一点

import Foundation

extension UIImagePickerController {
    override public func prefersStatusBarHidden() -> Bool {
        return true
    }
}

这是 UIImagePickerController 的扩展(类别),适用于我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-29
    • 2016-10-21
    • 1970-01-01
    • 2014-10-30
    • 2017-03-20
    相关资源
    最近更新 更多