需要在UIWebView中禁用(或隐藏)条形按钮,具体取决于加载的页面

时间:2011-05-16 23:37:21

标签: iphone xcode ios uiwebview uibarbuttonitem

我的iOS应用程序的一部分有一个UIWebView,底部有一个按钮栏,并加载一个本地index.html文件。栏上的2个按钮是“后退”和“完成”。 index.html文件是下载(因此也是本地)html迷你应用程序的列表,这些应用程序被加载到同一个webview中。由于这些迷你应用程序存在一些必需的导航问题,webview的“后退”按钮不是连接到webView的goBack,它实际上是一个返回index.html的链接按钮。

如果index.html是webview中的活动页面,我需要隐藏或禁用“后退”按钮。我知道如何完全禁用它,但是当加载迷你应用程序返回列表时我需要启用它。有什么建议?非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以实现一个UIWebView的委托协议:

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

然后你可以这样做:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSString *currentURL = [[request URL] absoluteString];
if ([currentURL isEqualToString:@"index.html"]) {
//hide the bar button item
//something like: [button setHidden:YES];
}

else {
//something like: [button setHidden:NO];

}
return YES;
}