Метод uiDelegate создает веб-представление с не вызванной конфигурацией

Я назначил делегата wkwebview uiDelegate и реализовал его метод создания веб-представления с настройкой, но он не вызывается. Я даже установил точку останова, но это не удар.

 class ViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {

@IBOutlet weak var webView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()

    webView.navigationDelegate = self
    webView.uiDelegate = self
    let requestURL = URL(string: "https://www.google.com")!
    let request = URLRequest(url: requestURL)
    webView.load(request as URLRequest)
}

func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {

    let config = WKWebViewConfiguration()
    return WKWebView(frame: webView.frame, configuration: config)
}

func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
}
}

0 ответов

Похоже, что он не вызывает делегата при начальной инициализации веб-просмотра... Я рекомендую вам просто создать веб-представление из кода

    let configuration = WKWebViewConfiguration()
    configuration.allowsInlineMediaPlayback = true
    configuration.allowsAirPlayForMediaPlayback = true
    configuration.mediaTypesRequiringUserActionForPlayback = []

    webView = WKWebView(frame: containerView.frame, configuration: configuration)
    webView.translatesAutoresizingMaskIntoConstraints = false
    containerView.addSubview(webView)

    NSLayoutConstraint.activate([
        webView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor),
        webView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor),
        webView.topAnchor.constraint(equalTo: containerView.topAnchor),
        webView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor)
    ])

containerview - это просто базовый набор UIView в моем xib, поэтому просто установите этот uiview в своем xib вместо wkwebview, и вам должно быть хорошо идти

Другие вопросы по тегам