私のアプリでは、特定のHTMLページがWebビューに読み込まれています。 「ニューロン」のような特定のラベルをクリックする必要があり、その説明を別のビューに表示する必要があります。 Webviewでラベルのクリックとクリックされたラベルを取得するにはどうすればよいですか?
「ラベル」とは「リンク」を意味しますか?その場合は、UIWebViewにデリゲートを与え、webView:shouldStartLoadWithRequest:navigationType
を実装します。これは、ユーザーがUIWebViewのリンクをタップするたびに呼び出されます。
デリゲートを使用してナビゲーションタイプを決定します!
マイスニペット
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
if (navigationType == UIWebViewNavigationTypeLinkClicked){
NSURL *url = request.URL;
[self openExternalURL:url];//Handle External URL here
}
return YES;
}
これを実装するのは簡単です。 WebViewが何かをロードしようとするたびに、
webView:shouldStartLoadWithRequest:navigationType
ハイパーリンクに関連付けられたURLを渡します。ここでは、NSURLRequest引数を解析して、ネイティブコードで実行する処理を行うことができます。
(後で、UIWebViewが実際にリンクをロードしないようにするには、NOを返します)