【发布时间】:2018-09-02 11:20:40
【问题描述】:
如您所见,这只发生在 iOS 12 中。
iOS 12 iOS 11
这是我的代码:
import UIKit
import WebKit
class ViewController: UIViewController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
override var prefersStatusBarHidden: Bool {
return false
}
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView = WKWebView(frame: UIScreen.main.bounds)
view.addSubview(webView)
webView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
webView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
webView.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
webView.loadHTMLString("<p><iframe src=\"https://www.youtube.com/embed/HCjNJDNzw8Y\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"\"></iframe></p>", baseURL: URL(string: "https://www.youtube.com/"))
setNeedsStatusBarAppearanceUpdate()
}
}
有人知道怎么解决吗?
我知道,如果我将密钥 View controller-based status bar appearance 设置为 YES 会有所帮助,但在这种情况下,它将如下所示:
状态栏由白变黑的原因不明,而且我的实际项目规模很大,所以最好在原始设置中解决,而不是让每个ViewController都继承一个类是 UIViewController 的子类或添加 dynamic 以在扩展中覆盖 prefersStatusBarHidden 和 preferredStatusBarStyle(这里只是尝试在 View controller-based status bar appearance 设置为 YES 时强制它显示更新状态栏)
希望有一个解决方案将View controller-based status bar appearance 设置为NO,这将非常有帮助。
here是demo项目,由Xcode9.4创建,欢迎试用。
【问题讨论】:
-
从全屏返回时,视频播放器也会发生这种情况。也开始于 iOS 12。
-
全屏后对我来说同样的问题。有什么修复吗?
-
你有解决办法吗?
-
我也对解决方案感兴趣。
-
我在 iOS 12 上收到错误,但在 iOS 13 上没有。在 info.plist 中没有任何关于状态栏的条目
标签: xcode xcode10 xcode10beta6