【问题标题】:How to disable bouncing effect in WKWebView如何在 WKWebView 中禁用弹跳效果
【发布时间】:2018-03-25 10:31:24
【问题描述】:

我正在运行WkWebView,它正在我的应用程序中呈现我的网络内容。但是,当我在页面的顶部/底部(垂直)滚动时,页面会像普通网页一样弹跳,并且我正在失去本机用户体验。

我已经对此主题进行了一些研究,这显然是一个很常见的问题,但没有一个答案解决了我的问题。

大多数人建议使用以下内容:wkWebView.scrollView.bounces = false。但由于某种原因,它对我的​​ webView 完全没有影响。

帮助任何人?

即我更喜欢使用原生 swift 解决问题,而不是注入 js 等。

【问题讨论】:

  • 您是否尝试过像此答案中那样设置偏移量:stackoverflow.com/questions/36407633/…
  • @DocForNoc 我试过但没用。由于某种原因,我还注意到一些奇怪的事情 scrollViewDidScroll 根本没有被调用。尽管我设置了wkWebView.scrollView.delegate = self
  • 我猜问题出在 Web 代码的某个地方,它禁用了某些滚动视图功能。这显然不是我的 swift 代码的问题。
  • 可能是。您可以将一个简单的 HTML 加载到您的 WKWebView 实例中并测试是否有任何差异以及行为和接收委托方法。

标签: ios swift wkwebview


【解决方案1】:

这对我有用:

wKWebView.scrollView.bounces = false

【讨论】:

  • 你是认真的吗? OP 说 大多数人建议使用以下内容:wkWebView.scrollView.bounces = false。但由于某种原因,它对我的​​ webView 完全没有影响
  • :) 我同意我在阅读之前写了这个问题。但是,是的,我仍然是认真的。我需要同样的东西。但是在出现搜索结果的第一个屏幕上没有答案。在我解决了我的问题之后,我编写了对我有用的代码。不要留下一个老问题没有回答,它会帮助很多人帮助那些喜欢我的人。那有什么问题?此答案是根据问题标题搜索时对 %99.9 的响应。
  • 如果bounces = NO 不起作用,可能是您的webview 没有初始化。当您禁用反弹时,请验证您的 webview 不为零。
  • obj-c 中的等效命令是什么?我正在使用cordova,它仍然依赖于 obj-c for ios。
【解决方案2】:

对我来说,当我设置这两个时它可以工作:

webView.scrollView.alwaysBounceVertical = false
webView.scrollView.bounces = false

但是有些H5还是弹跳,估计是网站本身造成的情况。

【讨论】:

  • obj-c 中的等效命令是什么?我正在使用cordova,它仍然依赖于 obj-c for ios。
  • 您是否找到了防止网站本身反弹的方法?
【解决方案3】:

这可能是您在哪里执行此操作的问题。这在 LoadView 函数中执行时不起作用。这只有在 ViewDidLoad 函数中运行时才有效。

    override func viewDidLoad() {
        super.viewDidLoad()

        mainWebView.scrollView.bounces = false
        ...

【讨论】:

猜你喜欢
  • 2020-10-15
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-29
  • 2020-03-07
  • 1970-01-01
相关资源
最近更新 更多