【问题标题】:WebKitView not adhering to auto layout rulesWebKitView 不遵守自动布局规则
【发布时间】:2019-04-02 11:37:30
【问题描述】:

我想在UIView 中放置一个WKWebView,并在周围加上一些填充。假设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))
        }
    }
}

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

非常感谢!

【问题讨论】:

    标签: swift uiview wkwebview


    【解决方案1】:

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

    或使用:

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

    【讨论】:

    • 完美 - 我想我一定是从这里的另一个问题中获取了代码,但没有意识到我可以做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    相关资源
    最近更新 更多