Панель навигации не отображается при использовании WebViewKit - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть ViewControllerWeb, чтобы показать WebView.Мне нужна навигационная панель, чтобы показать некоторые опции пользователю, поэтому мне нужно, чтобы NavigationBar отображался.

Проблема: Панель навигации не отображается.

ViewControllerWeb.swift

import UIKit
import WebKit

class ViewControllerWeb : UIViewController, WKNavigationDelegate {

    @IBOutlet weak var webView: WKWebView!
    @IBOutlet weak var progress: UIActivityIndicatorView!

    var url : String?

    override func viewDidLoad() {
        self.webView.allowsBackForwardNavigationGestures = true
        self.webView.navigationDelegate = self
        let request = URLRequest(url: URL(string: url!)!)
        self.navigationController?.navigationBar.isHidden = false
        self.webView.load(request)
    }

    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        print("didFinish")
        self.progress.stopAnimating()
    }

    func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
        print("didiFail")
        self.progress.stopAnimating()
    }

    func webViewWebContentProcessDidTerminate(_ webView: WKWebView) {
        print("webViewWebContentProcessDidTerminate")
        self.progress.stopAnimating()
    }

    func webView(_ webView: WKWebView,
                 didStartProvisionalNavigation navigation: WKNavigation!) {
        print("didStartProvisionalNavigation")
        self.progress.startAnimating()
    }

    func webView(_ webView: WKWebView,
                 didFailProvisionalNavigation navigation: WKNavigation!,
                 withError error: Error) {
        print("didFailProvisional")
        self.progress.stopAnimating()
    }

}

Раскадровка

enter image description here

Результат на симуляторе iPhone7

enter image description here

Панель навигации не отображается.

1 Ответ

0 голосов
/ 20 ноября 2018

Подарок ViewControllerWeb с UINavigationController.

// Storyboard name
let storyBoard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
// Storyboard withIdentifier
let viewController = storyBoard.instantiateViewController(withIdentifier: "ViewControllerWeb")
let navBarController = UINavigationController(rootViewController: viewController)
self.present(navBarController, animated: true, completion: nil)
...