WkWebview contentOffset 在设置动画 false 时不起作用

Posted

技术标签:

【中文标题】WkWebview contentOffset 在设置动画 false 时不起作用【英文标题】:WkWebview contentOffset not working when settign animated false 【发布时间】:2017-08-21 06:44:59 【问题描述】:

内容加载完成后,我需要设置 WkWebView 的 contentOffset。我在 webview didFinish 导航中设置了webView.scrollView.setContentOffset(offset, animated: true)

如果我将动画设置为true,它可以工作,但是当我将它设置为false 时,webView 不会滚动。

如何在没有动画的情况下滚动 webview?

【问题讨论】:

本文档可能会解释发生这种情况的原因:developer.apple.com/library/content/documentation/WindowsViews/… 当animated: true 发送一系列事件时,animated: false 发送单个事件。 【参考方案1】:
- (void)webViewDidFinishLoad:(UIWebView *)webView

    [webView.scrollView scrollRectToVisible:CGRectMake(0.0f, 0.0f, 0.0f, 0.0f) animated:NO];

或者你可以使用 javascript

NSString *script = @"scrollTo(0, 0)";
[webView stringByEvaluatingJavaScriptFromString:script];

【讨论】:

以上是关于WkWebview contentOffset 在设置动画 false 时不起作用的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 在视图中设置 contentoffset 将无法正常工作

dismissModalViewControllerAnimated 重置 contentOffset

UIScrollview 中的 ContentOffset 问题

在 UIScrollView 子类中设置 contentOffset 的正确位置在哪里?

IOS contentOffset该如何理解

如何获取 UIScrollView 中滚动的 contentOffset?