【发布时间】:2011-06-24 16:59:33
【问题描述】:
我有一个 UIWebView,里面有一些链接。当我点击链接时,在加载链接之前会有大约 2-3 秒的延迟。这是假设的方式还是我可以更改的设置? 谢谢。
【问题讨论】:
-
延迟很烦人,但很有趣的是,可能半秒的延迟在人们的脑海中变成了“2-3秒”。
标签: iphone objective-c ios cocoa-touch uiwebview
我有一个 UIWebView,里面有一些链接。当我点击链接时,在加载链接之前会有大约 2-3 秒的延迟。这是假设的方式还是我可以更改的设置? 谢谢。
【问题讨论】:
标签: iphone objective-c ios cocoa-touch uiwebview
在 iOS5 中,属于 UIWebView 的 UIScrollView 已公开,以便您可以更改其行为。因此,要消除点击延迟,您只需执行以下操作:
[webView.scrollView setDelaysContentTouches:NO]
这样您就不必使用任何 javascript 库来消除延迟。
作为奖励,您可以通过更改 decelerationRate 使 UIWebView 中的滚动感觉更加原生:
[webView.scrollView setDecelerationRate:UIScrollViewDecelerationRateNormal]
【讨论】:
检查你是否在主线程上调用加载方法。如果您在模拟器上对其进行测试,那么在辅助线程上调用方法需要一些时间来执行,而不是崩溃或抛出异常。用performSelectorOnMainThread 方法替换此类调用(如果有)。
【讨论】: