2011-03-09 21 views
27

Uygulamamda, belirli bir HTML sayfası bir web görünümüne yüklenir. "Neuron" gibi belirli bir etiketin üzerine tıklamalı ve açıklamalarını başka bir görünümde göstermeliyim. Etiketin tıklanma ve tıklama etiketini web görünümünde nasıl alabilirim?UIWebView Bağlantı Click

cevap

31

"Etiket" ile "link" demek istiyor musunuz? Eğer öyleyse, UIWebView'a bir delege verin ve webView:shouldStartLoadWithRequest:navigationType'u uygulayın. Kullanıcı UIWebView'da bir bağlantıya dokunduğunda her zaman çağrılır.

+5

Aslında bu her zaman denilen edilmeyecektir. Örneğin, bazı m.youtube.com sayfalarında. – cprcrack

+0

@cprcrack Neden çağrılmadığını biliyor musunuz? Diğer bazı sitelerde benzer davranış görüyorum. – vinnybad

5

Bunu uygulamak basittir. Her şey webview o köprüyle ilişkili url geçer

webView:shouldStartLoadWithRequest:navigationType 

arayacak, bir şeyler yüklemek istiyor. Burada, NSURLRequest argümanını ayrıştırabilir ve yerel kodda ne yapmak istediğinizi halledebilirsiniz.

65

Kullanım Navigasyon Tipi belirleme Delege (aslında sonradan linki yüklenmesini UIWebView durdurmak için HAYIR dönmek unutmayın)!

Benim Parçacığı

- (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; 

} 
+1

Bence bu en iyi cevap olarak işaretlenmelidir. –

+1

İnstagram gömülüdür ve profil bağlantısına tıklarsanız, çalışmaz. Tuhaf olan türü Diğer olarak algılar. – Nemanja