我有WKWebView
加载HTML5游戏。 HTML5游戏在Mac上的safari中打开它们时完全调整大小,没有任何问题。但是,当我更改iPad Pro的方向并因此调整UICollectionViewCells
的大小时,包含WebView
的{{1}}也会调整大小。不幸的是,不是游戏。
在下图中,我为WKWebView
提供了WKWebView
的backgroundColor,因此很容易区分。
这是我的代码:
UIColor.red
我做错了什么,或者更好......如何在不重新加载webview的情况下告诉WKWebView调整大小。
更新
如果我锁定设备(开/关按钮)并解锁设备,恢复,内容会正确调整大小并且看起来正确。
更新
减小import UIKit
import WebKit
final class WebView: UIView {
var webView: WKWebView!
var bounces: Bool = true {
didSet {
webView.scrollView.bounces = bounces
}
}
override var bounds: CGRect {
didSet {
if webView != nil {
var b = bounds
b.origin.x = 0
b.origin.y = 0
webView.bounds = b
webView.frame = b
}
}
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: CGRect(x: 0, y: 0, width: self.bounds.width, height: 100), configuration: webConfiguration)
webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
webView.navigationDelegate = self
webView.backgroundColor = UIColor.red
addSubview(webView)
}
override func draw(_ rect: CGRect) {
webView.frame = rect
}
/// Load request
func load(_ request: URLRequest) {
webView.load(request)
}
}
的大小时,内容会很好地调整大小。但是在增加尺寸时它并没有。
还尝试调整子类的大小,使用:
也没有帮助UICollectionViewCell