2011-05-05 51 views

回答

0

爲包含小圖片的第一個webview實現UIWebViewDelegate協議方法shouldStartLoadWithRequest

當用戶點擊您的圖片時,您需要攔截此事件並決定要做什麼以及如何執行。

當您在webview中觸發某種交互時(例如被點擊的鏈接),將調用shouldStartLoadWithRequest方法。有關更多詳細信息,請參閱UIWebView documentation。 shouldStartLoadWithRequest必須返回一個BOOL來表明它應該繼續執行用戶執行的操作(返回YES)或不返回(返回NO)。

現在你知道一個鏈接已被點擊,你必須確保它是一個圖像。這是通過評估請求參數傳回的url完成的。在這個例子中,我構造了一個方法clickedOnImageWithUrl,如果點擊了一個圖像,它將返回YES。但是,我不知道嵌入鏈接的小圖像看起來像我無法提供有關該方法的更多細節。如果它返回YES,您可以顯示新的webView。

然後代碼看起來是這樣的攔截點擊鏈接:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)aRequest navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if (navigationType == UIWebViewNavigationTypeLinkClicked) { 
     // check if user clicked on your image...clickedOnImageWithUrl is made up 
     if([self clickedOnImageWithUrl:[aRequest url]]) { 

      // push new webview with image ... 

      return NO; 
     }    
    } 

    return YES; 
} 
+0

你能澄清更多...請問?意味着我可以如何推動新的webview與此網址? – Yogi 2011-05-06 05:58:04

+0

@Yogi更新了我的答案。 – 2011-05-06 06:09:12

+0

@Nick是的我知道委託方法。但我的情況有些不同。我有一個視圖只包含一個webView.I創建此視圖的對象,並將它們添加到不同的視圖控制器上的滾動視圖。我用不同的內容加載了我的webView的每個對象,並且它們現在是可滾動的。我的圖標圖像位於這些網頁中,當用戶點擊該圖像時,我想以不同的視圖顯示該圖像。如何才能做到這一點?謝謝直到現在給你的幫助.... – Yogi 2011-05-06 06:55:22

0

@Yogi:你想對你什麼時候在顯示圖像一個UIWebView的頂部的表視圖爲什麼另一個webView。我想只有一個WebView就足夠了。順便說一下,您可以通過爲圖像的細節或甚至包含圖像的url的數組提供字典來實現所需的內容。而在的UITableViewDelegate方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 

您可以通過使用indexpath到可以打開網址查看圖像的網頁視圖圖像的URL。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
// Get the url for the image here 
NSUrlRequest *urlRequest = [NSUrlRequest requestWithURL:urImageUrl]; 
[urWebView loadRequest:urlRequest]; 
} 
+0

哦,我沒有任何表格視圖。我想要顯示的圖像是表格。所以沒有表格視圖..... – Yogi 2011-05-06 07:05:35

相關問題