2011-12-02 70 views
0

我加載本地.html文件到一個UIWebView加載不同的頁面時,那麼當另一個頁面將被裝載在.html文件中的鏈接或按鈕的用戶點擊可以是本地如何添加導航或遠程。 (我將這些直接加載到相同的UIWebView中,所以Safari不會被調用)。在一個UIWebView

如果從第一個頁面鏈接的頁面已加載,我希望導航欄出現並出現後退按鈕,以便用戶可以導航回起始頁面,就像網頁是本地應用程序中的視圖一樣。 實現這一目標的最佳方式是什麼?是否有可能使用本地構造來實現,而不是在頁面本身中放置背部鏈接或放置一些JavaScript等?

感謝

回答

0

最好的辦法是實行

– webView:shouldStartLoadWithRequest:navigationType: 

delegate。只要您的webview即將發出請求,就會調用此方法。所以現在當有人點擊你的網頁上的一個按鈕,你會得到一個這種方法的調用。在您接聽此通話後,您可以選擇隨心所欲地執行任何操作。就像通過自己的服務器重定向鏈接一樣,或者向服務器註冊關於用戶活動等的請求。在您的情況下,顯示導航欄並激活後退按鈕。

實例 - 在這裏myMethodAction是你希望把你的導航欄外觀邏輯。

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if(navigationType == UIWebViewNavigationTypeLinkClicked) 
    { 
     if(overrideLinksSwitch.on == TRUE) 
     { 
      [self myMethodAction]; 
      [myWebView stopLoading]; 
      return YES; 
     } 
     else 
     { 
      return YES; 
     } 
    } 
    return YES; 
} 

希望這有助於...