2014-01-11 69 views
1

我有一個用於加載網頁的UIWebView。我也有導航按鈕,所以你可以在前面加載的頁面之間前後移動。沒有以前的網頁時,有沒有辦法隱藏導航按鈕?如何隱藏uiwebview導航按鈕

回答

1

入住這裏:Why is UIWebView canGoBack=NO in iOS7?

您可以啓用/在shouldStartLoadWithRequestcanGoBackcanGoForward方法上的UIWebView禁用您的導航按鈕:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request 
navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if ([webView canGoBack]) 
    { 
     [_browserBackItem setEnabled:YES]; 
    } 
    else 
    { 
     [_browserBackItem setEnabled:NO]; 
    } 
    if ([webView canGoForward]) 
    { 
     [_browserForwardItem setEnabled:YES]; 
    } 
    else 
    { 
     [_browserForwardItem setEnabled:NO]; 
    } 
    return YES; 
} 
+0

這將實際工作,唯一的事情是如何我有我向前和向後按鈕來控制UIWebView不是通過我的實現文件,我通過右鍵單擊並從webview拖動到按鈕然後選擇操作。我應該用什麼來將它們實現到我的.m文件中? – user3180303

+0

我不確定我明白你的意思。你可以發佈屏幕截圖嗎? 您需要將您的按鈕從.xib文件鏈接到您的類,並在.h文件中添加IBOutlet,以便您可以在.m文件中訪問它們。 – Damien

+0

好的左邊是我的.h,右邊是.m,http://i.imgur.com/gR3oqwy.png和我已經連接回去和gofoward到webview – user3180303

0

我不知道什麼內置到UIWebView,允許這個,但也許你可以嘗試跟蹤一個變量的網頁。

每次發出url請求時,都會調用UIWebView委託方法,您可以在那裏遞增變量(see here)。然後,一旦用戶選擇了後退按鈕,就減少該變量。

希望有所幫助。

0

例如,您可以將加載的頁面保存在NSArray中,並測試該數組是否爲空,您可以隱藏該按鈕。

要知道打開的頁面,請在您的類中實現UIWebViewDelegate,並在 - webView:shouldStartLoadWithRequest:navigationType:回調中保存url。