如何隐藏uiwebview导航按钮

时间:2014-01-11 23:59:25

标签: ios objective-c

我有一个用于加载网页的UIWebView。我还有导航按钮,因此您可以在之前加载的页面之间前后移动。有没有办法在没有以前的网页时隐藏导航按钮?

3 个答案:

答案 0 :(得分:1)

点击此处:Why is UIWebView canGoBack=NO in iOS7?

您可以使用UIWebView上的shouldStartLoadWithRequestcanGoBack方法在canGoForward方法中启用/禁用导航按钮:

- (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;
}

答案 1 :(得分:0)

我不知道UIWebView中内置的任何内容允许这样做,但也许您可以尝试使用变量跟踪页面。

每次发出url请求时,都会调用UIWebView委托方法,你可以在那里增加变量(see here)。然后在用户选择后退按钮后递减变量。

希望有所帮助。

答案 2 :(得分:0)

例如,您可以将加载的页面保存在NSArray中,并测试该数组是否为空,您可以隐藏按钮。

要知道打开的页面,您在班级中实现UIWebViewDelegate,并在 - webView:shouldStartLoadWithRequest:navigationType:回调中保存网址。