设置内容偏移以进行动画滚动时,WKWebView的呈现区域

时间:2018-09-16 15:52:23

标签: ios objective-c rendering

我已向下滚动带有已加载页面的Web视图。现在,我要以编程方式返回到已加载页面的顶部。而且我想进行动画滚动。

我实现了以下解决方案:

__auto_type animation = ^{
  self.webView.scrollView.contentOffset = CGPointZero;
};

[UIView animateWithDuration:0.3
                      delay:0.0
                    options:UIViewAnimationOptionBeginFromCurrentState
                 animations:animation
                 completion:NULL];

我注意到动画过程中背景闪烁。我研究了这个问题,发现在动画过程中Web视图未完全渲染(即从当前位置到目标位置),而仅渲染了内容目标值周围的可见区域并添加了一些额外区域。例如。对于我的可见区域高度667和目标内容偏移量(0,0),渲染区域的爱好者边界在[1000,1200]范围内。该值似乎是恒定的,并且与iPhone型号或iOS版本无关。

我注意到,如果在开始动画之前将内容偏移值设置为渲染范围内,则背景不会闪烁,并且我的问题已解决。即在上面的代码解决了我的问题之前,添加了以下行:

self.webView.scrollView.contentOffset = CGPointMake(0, 400);

看起来苹果做了一些渲染过程优化。我想知道是否可以在我的代码中使用此问题。我的问题如下:

a。是否可以获取目标内容偏移量的渲染区域下限? b。无法管理此值,即更改此值还是为我的操作禁用此优化?

0 个答案:

没有答案