XcodeとSwiftでiOSアプリケーションを作成しました。Xcode、Swift; UIWebViewのハイパーリンクのクリックを検出する
Safariブラウザで特定のハイパーリンクを開きたい場合は、WebView自体に他のハイパーリンクを開きます。
これに到達するには、ハイパーリンクがクリックされたときを確認する必要があります。
これは、これまで私が持っているコードです:viewDidLoad()
で
//
// 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
}
}
コードが負荷に私のサーバーからメインのURL(http://www.example.com)を開きます。それはうまく動作します。
override fun webView[…]
は、ハイパーリンクがクリックされたかどうかを検出してから、print("You clicked a hypelink!")
を検出する必要があります。
しかし残念ながら、私は次のエラーを取得しています:
私が間違って何をしているのですか?これらのエラーを取り除くには?
プロジェクトをクリーニングしましたか?また、overrideキーワードを削除してください。 – Priyal
@Priyalさて、私は 'オーバーライド'を削除し、私はプロジェクトをきれいにしましたが、それでも同じです。私は今、さらに: '宣言されていない型の使用 'URLRequest'' – user7128548
私はあなたの正確なコードをコピーしました。 navigationType ==は { 印刷( "あなたはhypelinkをクリックし.linkClicked場合>ブール{ - ' FUNCのWebViewの(UIWebViewNavigationType _のWebView::のUIWebView、shouldStartLoadWith要求:URLRequestの、navigationType)最終的なコードがある後提案を解決! ") } return true }'エラーと警告は表示されません。 私は** swift3 **を使用していますので、警告を解決する必要がありました。 – Priyal