WebKitView не придерживается правил автоматического размещения - PullRequest
0 голосов
/ 02 апреля 2019

Я хотел бы поместить WKWebView в UIView, с некоторыми отступами. Скажем, 50 пикселей. Вот как это выглядит в Интерфейсном Разработчике:

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 Ответ

1 голос
/ 02 апреля 2019

Поскольку вы устанавливаете это в раскадровке, просто удалите required init?(coder: NSCoder)

или используйте:

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