33

我正在构建一个应用程序,它将少量简单的 HTML(本地)加载单个全屏 UIWebView 中。我注意到滚动此 Web 视图的感觉与滚动任何其他 UIScrollView 明显不同。本质上,这似乎不是性能或响应能力问题......这只是当您上下拖动和轻弹 Web 视图时动力如何发挥作用的问题。它只是感觉不是很“原生”(因为没有更好的词)。这就像滚动糖蜜或布丁……有点“粘”而不是像你想要的那样“光滑”。

有谁知道这是什么原因?有什么办法可以修复它,或者至少让滚动 UIWebView 感觉更“原生”?

4

1 回答 1

55

我也有同样的看法。一定和webView的scrollView减速率有关。刚刚运行了这个测试,1) 它证实了我们的怀疑,2) 提出了修复建议。

我在我的 UI 中添加了一个 scrollView 和一个 webView,然后记录了以下内容:

NSLog(@"my scroll view's decel rate is %f", self.scrollView.decelerationRate);
NSLog(@"my web view's decel rate is %f", self.webView.scrollView.decelerationRate);
NSLog(@"normal is %f, fast is %f", UIScrollViewDecelerationRateNormal, UIScrollViewDecelerationRateFast);

输出证实了关于 webView 更具摩擦性的猜测:

my scroll view's decel rate is 0.998000
my web view's decel rate is 0.989324
normal is 0.998000, fast is 0.990000

并建议修复:

self.webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;
于 2013-02-08T00:18:40.767 回答