iphone - 如何将导航 Controller 后退按钮转换为 iPhone 中浏览器的后退按钮?

标签 iphone uiwebview

我在基于导航的应用程序中的 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/

相关文章:

iphone - 在 UIWebView 中打开的 HTML 页面中自动填充用户名和密码

ipad - UIWebView 抛出 NSUnknownKeyException iPad

ios - 限制 UIWebView 停留在 Facebook 页面上

ios - 在 UIWebView 中更改用户代理

iphone - iPhone 上的 Xcode 和 iOS5.1 无法运行

iphone - UITableViewCells 在屏幕上不可见时重新排序

javascript - 使用带有 UIWebView 的 JavaScript 通过 ID-SWIFT 检索元素

iphone sdk 在 facebook 上上传视频

iphone - 自动释放 : Use always when you've NARC'ed?

ios - 将 PDF 文件保存到 iBooks。