gpt4 book ai didi

iphone - 嵌入 UIWebView 的 UIScrollView 按住后不滚动

转载 作者:行者123 更新时间:2023-12-03 21:10:45 25 4
gpt4 key购买 nike

我有一个嵌入在 UIScrollView 中的 UIWebView。 webView 被调整大小,以便 ScrollView 管理所有滚动(我需要控制滚动)。

在 webView 中,我通过“-webkit-user-select: none;”禁用了 userSelection

除了一个烦人的细节之外,一切都工作正常。当我在开始滚动大约一秒钟之前将手指按住内容时,scrollView 将不会滚动。我最好的猜测是,它与 userSelection 有关。时间与复制/粘贴/放大内容通常出现所需的时间大致相同,这通常也会禁用滚动。

我已经没有办法解决这个问题了。我们将不胜感激每一个帮助!

谢谢!

编辑:问题的另一个方面是,非滚动实际上会触发我的 webView 中的 JS-Eventhandler(单击、mousedown、mouseup),这会导致令人惊讶的应用程序行为。用户将手指放下,等待,滚动,什么也没有发生,然后移开手指,这被视为点击,从用户的角度来看,这感觉是错误的。

最佳答案

我猜发生的事情是,在短暂的持续时间之后, ScrollView 不再将触摸解释为在其 View 上,而是将触摸传递到其内容 View 。

您是否尝试过延迟 ScrollView 的内容触摸?这本质上会告诉 ScrollView 延迟对触摸事件采取操作,而是短暂监视触摸,如果触摸移动,则会将其识别为用于滚动的滑动手势。如果它不移动,它最终会将触摸传递给它的 subview 。

scrollView.delaysContentTouches = YES;

我认为即使如此, ScrollView 沿着响应者链传递触摸事件之前也有一个标准的延迟时间。如果你按住太久,它会自然地将其视为按下事件而不是滚动事件。

关于iphone - 嵌入 UIWebView 的 UIScrollView 按住后不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3439880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com