2012-06-12 46 views
0

我在加載一個UIWebView時遇到了一個問題。我有一個web瀏覽器(第1個),其中加載了一個url。當該頁面加載時,我創建了一個具有webview第二個)在第一個webview的頂部,這是加載第二個url.Basically我加載webview內的webview.On在第二個webview中點擊一個url,生成的url必須在Safari中打開,在應用程序之外。 如果我沒有設置[webview setDelegate:self],則該頁面在小的WebView加載預期,但上點擊一下,什麼也沒發生..在iOS的webview中加載一個webivew

但是如果我設置delegae第二UIWebView自我,這需要的URL是裝在第二個UIWebView正在加載第一個網址。

有沒有人做過這種webview加載較早。 請help.your幫助我非常感激

感謝

+0

你可以在這裏粘貼你的代碼嗎?我認爲你可以將自己設爲委託給兩個網頁瀏覽器,然後處理鏈接應該如何與委託方法打開(你可以區分這個調用是來自哪個Web視圖,通過存儲一個弱引用到Web視圖和比較)。 – nhahtdh

+0

聽起來就像你的委託方法越來越困惑,哪個webview應該是處理請求的webview;您可以設置UIWebView的標籤屬性(NSInteger)來標識哪個是哪個。 – Luke

回答

0

在當前類,你應該測試至極UIWebView委託處理 第一組:

webView.delegate = self; 

然後在shouldStartLoadWithRequest

//UIWebView *smallWebView; 
//UIWebView *mainWebView; 
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if(webView == smallWebView 
    { 
     //Load stuff on safari 
    } 
    else 
    { 
     //This means that link was pressed in the mainWebView 
     //Depending on your logic, you will load the smallWebView 
    } 
}