iOS 5 bug:UIWebView和goBack以及goForward

时间:2011-11-08 20:08:37

标签: objective-c ios ios4 ios5

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

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

如果您想使用navegation栏,可以使用goBackgoForward

功能

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

webView:shouldStartLoadWithRequest:navigationType:

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

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

没有其他办法吗?

  • 我看不到浏览器历史记录?我必须创建我的列表吗?
  • 我无法清除缓存以强制它传递给函数吗?

任何sugest?

1 个答案:

答案 0 :(得分:3)

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

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

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

    [self.webView goBack:sender];
}