Xcode, Swift, Erkennung hyperlink klicken Sie im UIWebView

Machte ich eine iOS-app mit Xcode und Swift.

Will ich öffnen bestimmter Links im Safari-browser gibt es andere in der Webansicht selbst.

Um dies zu erreichen, werde ich haben, um zu überprüfen, wenn eines hyperlinks geklickt wird.

Dies ist der code den ich bisher:

//
// PushViewController.swift
// App
//
//

import UIKit
class PushViewController: UIViewController, UIWebViewDelegate {
    @IBOutlet var openpushmessage: UIWebView!

    var weburl:String = "http://www.example.com"

    override func viewDidLoad() {
        super.viewDidLoad()

        let url: NSURL = NSURL(string: weburl)!
        let requestURL: NSURLRequest = NSURLRequest(URL: url)
        openpushmessage.loadRequest(requestURL)
    }
    override func webView(_ webView: UIWebView, shouldStartLoadWithRequest request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
        if navigationType == .linkClicked
        {
            print("You clicked a hypelink!")
        }
        return true
    }
}

Den code in viewDidLoad() öffnet die Belastungen der Haupt-URL (http://www.example.com) von meinem server. Das funktioniert auch.

override fun webView[…] sollten erkennen, wenn ein hyperlink angeklickt wird und dann print("You clicked a hypelink!").

Aber leider bin ich immer die folgenden Fehler:

Xcode, Swift, Erkennung hyperlink klicken Sie im UIWebView

Was mache ich falsch? Wie, um loszuwerden, diese Fehler?

  • Haben Sie versucht, reinigen Sie das Projekt ? Entfernen Sie auch das Schlüsselwort override.
  • Okay, ich entfernt override und ich gereinigt das Projekt aber immer noch das gleiche. Ich bin jetzt zusätzlich bekommen: Use of undeclared type 'URLRequest'
  • Ich kopierte Ihre genauen code. Gelöst die Vorschläge, nach denen der endgültige code ist : func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { if navigationType == .linkClicked { print("You clicked a hypelink!") } return true } und es gibt keine Fehler oder Warnungen. Ich bin mit swift3 so hatte zum beheben von Warnungen.
  • die swift-version verwenden Sie ?
  • Ich bin immer noch mit Swift 2. Keine Ahnung, was ich tun kann?
  • Sorry, ich bin nicht vertraut mit swift2 aber eine Sache können Sie versuchen, löschen Sie Ihre Methode und kopieren Sie es aus UIWebViewDelegate. Versuchen Sie auch den Vergleich mit UIWebViewNavigationType.LinkClicked.

InformationsquelleAutor | 2017-02-08
Schreibe einen Kommentar