WKWebview скрывает панель инструментов - PullRequest
0 голосов
/ 12 июня 2018

Я искал пару ночей и не смог найти решение этой проблемы.

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

код:

class WebAppViewController: UIViewController, WKNavigationDelegate {

var webView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()
    webView = WKWebView()
    webView.navigationDelegate = self
    webView.frame.size = webView.scrollView.contentSize
    view = webView


    let defaults = `UserDefaults`.standard
    let email = defaults.object(forKey: "email") as? String
    let password = defaults.object(forKey: "password") as? String

    let myURL = URL(string:"https://google.com")
    var request = URLRequest(url: myURL!)

    webView.load(request)

    // Do any additional setup after loading the view.
}

Я обнаружил, что если я удалю эту строку:

view = webView

Тогда я получу пустой вид с панелью инструментов внизу.Когда я добавляю эту строку обратно, загружаемый веб-сайт занимает весь вид.

Пожалуйста, помогите мне понять, что я делаю неправильно.

ОБНОВЛЕНИЕ

В соответствии с ответом я разделил работу на две функции:

class WebAppViewController: UIViewController, WKNavigationDelegate {

    var webView: WKWebView!

    override func loadView() {
        webView = WKWebView()
        view = webView
    }

    override func viewDidLoad() {
        super.viewDidLoad()



        let defaults = `UserDefaults`.standard
        let email = defaults.object(forKey: "email") as? String
        let password = defaults.object(forKey: "password") as? String

        let myURL = URL(string:"https://google.com")
        var request = URLRequest(url: myURL!)

        webView.load(request)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    }

}

Однако я все еще вижу веб-представление во всем представлении.

1 Ответ

0 голосов
/ 13 июня 2018

Я предполагаю, что с помощью функции loadView (), в частности, вида линии = webView, вы полностью заменяете иерархию представлений и теряете панель инструментов.Избавьтесь от функции loadView ().В нижней части viewDidLoad () добавьте следующее.

view.insertSubview(webView, belowSubview:toolbarView)
...