WebKitView不遵守自动布局规则

时间:2019-04-02 11:37:31

标签: swift uiview wkwebview

我想将WKWebView放在UIView中,并留一些填充。假设50像素。这是Interface Builder中的外观:

Interface builder screenshot

不幸的是,该应用在运行时的行为不符合预期:

Simulator screenshot

代码如下:

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))
        }
    }
}

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

非常感谢!

1 个答案:

答案 0 :(得分:1)

由于您是在情节提要中进行设置的,因此只需删除required init?(coder: NSCoder)

或使用:

   required init?(coder: NSCoder) {
        super.init(coder: coder)
    }
相关问题