WebKitView 不遵守自动布局规则

WebKitView not adhering to auto layout rules

我想将 WKWebView 放在 UIView 中,并在周围填充一些内容。比方说 50 像素。这是在 Interface Builder 中的样子:

不幸的是,当 运行:

时,应用程序的行为不符合预期

代码如下:

import UIKit
import WebKit

class ViewController: UIViewController {
    @IBOutlet var webView: WebView!
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        let url = "http://apple.com"
        webView.loadUrl(string: url)
    }
}
class WebView: WKWebView {
    required init?(coder: NSCoder) {
        if let _view = UIView(coder: coder) {
            super.init(frame: _view.frame, configuration: WKWebViewConfiguration())
            autoresizingMask = _view.autoresizingMask
        } else {
            return nil
        }
    }
    func loadUrl(string: String) {
        if let url = URL(string: string) {
            load(URLRequest(url: url))
        }
    }
}

什么可能导致这种问题,我该如何解决?

非常感谢!

由于您是在 Storyboard 中设置的,只需删除 required init?(coder: NSCoder)

或使用:

   required init?(coder: NSCoder) {
        super.init(coder: coder)
    }