2017-10-21 87 views
1

Je souhaite créer une application de navigateur iOS à l'aide de WKWebView. Actuellement, je peux afficher une page Web sur l'ensemble de la vue.
Maintenant, j'essaie d'ajouter un Toolbar en bas de WKWebView, mais il n'apparaît pas sur la vue. J'ai placé un objet Toolbar sur Storyboard et l'ai attaché à mon code, mais seul WKWebView apparaît sur l'ensemble de la vue, sans barre d'outils.
Comment puis-je implémenter le Toolbar de la manière correcte?La barre d'outils n'apparaît pas en bas de WKWebView

Voici mon code:

import UIKit 
import WebKit 

class WebViewViewController: UIViewController, WKUIDelegate, WKNavigationDelegate { 


    @IBOutlet weak var webView: WKWebView! 

    @IBOutlet weak var WKToolbar: UIToolbar! 

    var startUrl = "https://www.apple.com" 
    var pageTitle: String? 
    var requestUrl: String? 

    override func loadView() { 
     super.loadView() 
     let webConfiguration = WKWebViewConfiguration() 
     webView = WKWebView(frame: .zero, configuration: webConfiguration) 
     webView.uiDelegate = self 
     webView.navigationDelegate = self 
     self.view = webView 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     webView.allowsBackForwardNavigationGestures = true 

     if let url = URL(string: startUrl) { 
      let request = URLRequest(url: url) 
      webView.load(request) 
     } 
    } 

    @IBAction func prevBtn(_ sender: UIBarButtonItem) { 
     if webView.canGoBack { 
      webView.goBack() 
     } 
    } 

    @IBAction func nextBtn(_ sender: UIBarButtonItem) { 
     if webView.canGoForward { 
      webView.goForward() 
     } 
    } 

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

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

} 

my Storyboard

+0

Pourriez-vous aussi poster une photo de votre storyboard? – AlexWoe89

+0

a ajouté le lien d'une photo. – Udomomo

+0

La vue gris foncé est 'webView', non? –

Répondre

1

Enfin résolu. Suivant le conseil de Moe Abdul-Hameed, j'ai retiré cette partie, et les WKWebView et Toolbar ont fonctionné correctement.
Je pense que cette partie a remplacé le paramètre créé par l'objet WebView sur Storyboard.

let webConfiguration = WKWebViewConfiguration() 
    webView = WKWebView(frame: .zero, configuration: webConfiguration) 
    webView.uiDelegate = self 
    webView.navigationDelegate = self 
    self.view = webView