我在基于导航的应用程序中的 UIwebview 中显示了一些文本和图像。它还包含一些指向数据源(即网站)的链接。它以完美的方式展示它。但是,当用户单击后退按钮时,它会弹出前一个 View Controller 并转到它。但是,当用户单击链接时,我想要的后退按钮必须转换为浏览器的后退按钮并发挥作用。
有什么建议/示例代码或教程吗?
最佳答案
只要 UIWebView
可以选择返回,您就可以将导航栏的后退按钮替换为浏览器后退按钮,方法如下:
- (void)updateBackButton {
if ([self.webView canGoBack]) {
if (!self.navigationItem.leftBarButtonItem) {
[self.navigationItem setHidesBackButton:YES animated:YES];
UIBarButtonItem *backItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backWasClicked:)] autorelease];
[self.navigationItem setLeftBarButtonItem:backItem animated:YES];
}
}
else {
[self.navigationItem setLeftBarButtonItem:nil animated:YES];
[self.navigationItem setHidesBackButton:NO animated:YES];
}
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
[self updateBackButton];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[self updateBackButton];
}
- (void)backWasClicked:(id)sender {
if ([self.webView canGoBack]) {
[self.webView goBack];
}
}
关于iphone - 如何将导航 Controller 后退按钮转换为 iPhone 中浏览器的后退按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6991623/