gpt4 book ai didi

ios - 调用 imagePickerController 后隐藏状态栏

转载 作者:搜寻专家 更新时间:2023-10-31 22:35:42 25 4
gpt4 key购买 nike

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

这是我的工作。我将选择器 Controller 子类化:

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文件中设置了隐藏栏。问题特别是在调用选择器 Controller 时。请用 Swift 回答。

最佳答案

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

import Foundation

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

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

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com