2016-12-23 4 views
0

Ich bin nicht in der Lage, einen Tipp auf einen Link innerhalb einer UIWebView zu erkennen. Ich bin mir nicht sicher, was ich falsch mache, aber es gibt nichts, das beim Navigieren protokolliert wird, indem ich auf Links in meinem UIWebView klicke.Erkennen klicken auf Link in UIWebView

Das ist mein WebViewController

import UIKit 

@available(iOS 10.0, *) 
class WebsiteViewController: UIViewController, UIWebViewDelegate { 

@IBOutlet var backButton: UIBarButtonItem! 
@IBOutlet var webview: UIWebView! 
@IBOutlet var navigationBar: UINavigationBar! 

let user = UserDefaults.standard 

override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { 

    if webview.canGoBack { 
     webview.goBack() 

     return true 
    } 

    return false 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    navigationBar.topItem?.title = "" 

    let url = URL(string: "http://" + user.string(forKey: "site")!) 

    webview.loadRequest(URLRequest(url: url!)) 

    //webview.allowsBackForwardNavigationGestures = true 

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

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { 
    print("test log a click") 
    print(navigationType) 
    return true 
} 

} 

Was mache ich falsch hier? Ich kann es nicht sehen.

+4

Überprüfen Sie, ob webview.delegate auf self gesetzt ist. – bunty

+0

Wow @bunty, habe stundenlang daran gearbeitet und du hast mir wirklich geholfen, weiter zu gehen. DANKE VIELMALS!! Sende es als Antwort und ich akzeptiere es als korrekt. –

+0

Im Zweifelsfall überprüfen Sie Ihre IBOutlets, Aktionen und Delegaten –

Antwort

1

Überprüfen Sie, ob webview.delegate auf self gesetzt ist.