我在iOS 5中发现了一个错误。

当您使用UIWebView并访问某些站点时,您将创建历史记录链接,就像其他任何浏览器一样。

如果您想使用导航栏,可以使用goBackgoForward函数

在iOS 4.3及更低版本中,当您调用此函数时,程序将调用委托函数

webView:shouldStartLoadWithRequest:navigationType:

但是在iOS 5.0中,这可能发生或不会发生。如果站点在缓存中,则不会调用此函数。我看到这种情况仅发生在1级(在goBack中单击1次或在goFoward中单击1次),在第二次单击中将其传递给函数。

他们为什么要改变它???即使它在缓存中,程序也必须要问我。现在如何解决这个问题:我正在尝试使用浏览器历史记录进行堆栈,并检查URL。但是我有问题;(

有没有其他办法?
  • 我看不到浏览器历史记录?我必须创建我的工作清单吗?
  • 我无法清理缓存以强制其传递给函数?

  • 有糖味吗?

    最佳答案

    这不是错误,如果设备上有足够的可用RAM,那么它将把某些页面保留在内存中,因此当您返回时不会再次“加载”它们。

    您应该在自己的控制器上创建自己的goBack:goForward:操作,并将goBack / goForward按钮链接到它们:

    - (IBAction)goBack:(id)sender
    {
        [self doStuff];
    
        [self.webView goBack:sender];
    }
    

    10-06 13:10