UIWebView延迟了shouldStartLoadWithRequest,直到滚动完成

时间:2013-08-28 07:03:02

标签: objective-c uiwebview uiscrollview

我有UIWebview加载一些本地内容。我连接了两个按钮,分别激活了webView的goBackgoForward方法。

当不滚动页面时,点击任一按钮即可向后或向前导航页面。但是,如果我在当前页面滚动时点击其中一个按钮,则在当前页面停止滚动之前,下一页将不会开始加载。

我试过登录

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest...

日志显示在页面滚动完成之前不会被触发。

使用UIWebViews默认滚动行为时,延迟非常小。但是我已经改变了这一点,通过这样做来获得更原生的感觉:

webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;

滚动长页面时,问题变得很明显,因为在滚动完成和下一页加载之前可能需要几秒钟。

有没有其他人经历过这个并找到了解决方案?

1 个答案:

答案 0 :(得分:1)

因为UIScrollview中的事件跟踪阻止了主线程。

您可以尝试在另一个Web操作之前强制滚动滚动结束滚动(或减速)。

价: How can I programmatically force-stop scrolling in a UIScrollView?