1

我需要能够弄清楚 UIWebView 层次结构中的前一页是什么,以便我可以禁用某些实例上的后退按钮。所以,澄清一下:

 User is on page A - clicks on link
 User is now on page B - clicks on link
 User is now on page C  - clicks on the **back** button
 User is now on page B

我需要能够知道页面 B 中的“上一个”页面页面 A。不幸的是,我现在使用的方法只能确定用户的上一页。所以在上面的情况下,它认为之前的导航页面是页面 C。

任何帮助,将不胜感激!:)

4

2 回答 2

1

每次用户单击链接并加载新页面时,您的 Web 视图代理都会收到一条消息。所以每次都“写下”这些信息!现在你知道“后退”是什么意思了。

此外,您可以将 JavaScript 与 UIWebView 对话。JavaScript 为您提供了一个history对象。UIWebView 中的许多关键功能都是通过 JavaScript 实现的!Apple 没有费心在 Objective-C 属性中复制它,因为,好吧,为什么要费心呢?

于 2013-04-08T17:50:50.563 回答
0

多年后....

在研究同样的场景时,我想出了一个很好的解决方案。在 webViewDidFinishLoad 中,检查属性“canGoBack”并相应地隐藏或取消隐藏您的后退按钮。觉得这太酷了,不分享。:)

if (self.webView.canGoBack)
{
    self.backButton.hidden = NO;
}
else
{
    self.backButton.hidden = YES;
}
于 2015-01-21T22:54:12.347 回答