2012-08-23 75 views

回答

-1

此方法將是調用時網頁視圖加載請求:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

保存此請求到堆棧。這個堆棧是Webview的歷史。

希望能夠幫助:)

+0

是的,但你怎麼能再次種子UIWebView歷史堆棧。我需要能夠在保存歷史記錄之後銷燬我的網絡視圖,然後重新加載網絡視圖併爲歷史記錄播種,以便它看起來是相同的網絡視圖。 – chadbag

3

它其實簡單得多比自己創建堆棧(這是我即將做,直到我發現,這是沒有必要的)。 UIWebView有以下方法:goBack,goForward,canGoBack and canGoForward。您可以執行以下操作。

使包含您的UIWebView UIWebViewDelegate的委託的ViewController:

的按鈕創建IBActions:

- (IBAction) browserBack: (id)sender 
{ 
    [webBrowser goBack]; 
} 

- (IBAction) browserForward: (id)sender 
{ 
    [webBrowser goForward]; 
} 

創建您的後退和前進按鈕,並將其鏈接到IBActions以及對適當的IBOutlets

最後添加webViewDidFinishLoad委託方法:

- (void) webViewDidFinishLoad: (UIWebView *)webView 
{ 
    [mBackButton setEnabled: [webBrowser canGoBack]]; 
    [mForwardButton setEnabled: [webBrowser canGoForward]]; 
} 

請注意,根據您當前位置是後退還是前進頁面來啓用和禁用按鈕。

就是這樣!您現在可以向後和向前瀏覽,並且這些按鈕將自動顯示或禁用爲適當的。

+3

你沒有回答這個問題。 –