iOS 13 在更改平移方向时不会引发 panend 事件

2024-02-06

我有一个使用 Hammer.js 事件的自定义图像滑块。

我使用以下内容来创建我的“锤子”对象:

    const hammerPan = new Hammer(domElement, 
    {
        // lock vertical scrolling when panning left to right
        touchAction: 'pan-y',

        recognizers: [
            // we don't care about vertical, but we want always to get panstart and panend
            // events so we use ALL to prevent unncesessary filtering from hammerjs
            [Hammer.Pan, { direction: Hammer.DIRECTION_ALL, threshold: 10 }]
        ]
    });

滑块(像大多数滑块一样)从左向右移动,但为了避免阻止我使用的移动设备上的垂直滚动touchAction: 'pan-y'所以我仍然可以滚动。

在 iOS 12 中,一切都运行良好 -即使我向左平移然后向上移动手指然后释放。这会触发一些垂直平移事件,但仍会以平移结束.

对于 iOS 13(我有两部手机进行比较),它不会给我最终的结果panend事件,这样我的幻灯片就会“卡在”一半。


如果您不熟悉 RxJS 语法,请原谅,但我所需要做的就是显式添加pancancel event.

const panUnfilteredRaw$ = fromEvent<HammerInput>(hammerPan as unknown as JQueryStyleEventEmitter, 
                          'panstart panmove panend pancancel').pipe(share());

我以前没有这个,因为要么我从某个地方复制它,要么我从来没有想过我需要它。

不确定 IOS13 是否更加挑剔(!),但如果你改变平移方向,它肯定会有不同的行为 - 所以可以说这是一个错误。


我也从检测切换到panend to event.isFinal.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 13 在更改平移方向时不会引发 panend 事件 的相关文章

随机推荐

  • 如何处理抛出检查异常的静态最终字段初始值设定项

    我面临一个用例 我想声明一个static final带有声明为抛出已检查异常的初始值设定项语句的字段 通常 它看起来像这样 public static final ObjectName OBJECT NAME new ObjectName
  • Hive - 如何在命令行中显示 Hive 查询结果以及列名称

    我在 Hive 工作了一段时间 请注意 我根本不使用 Hue 我一直使用 Hive shell 现在我遇到了一个奇怪但有用的问题 每当我们在 Hive shell 中执行查询时 我们都可以在屏幕上看到相关结果 但我们无法识别与数据对应的列名
  • 在C/C++中编写YUV图像帧的问题

    我正在尝试将从 OpenGL glReadPixels 获取的 RGB 帧转换为 YUV 帧 并将 YUV 帧写入文件 yuv 后来我想将其写入命名管道作为 FFMPEG 的输入 但现在我只想将其写入文件并使用 YUV 图像查看器查看图像结
  • Python中通过字符串变量设置和获取@property方法

    目前 我有一个通用函数 您可以在其中传递属性名称和类 它也适用于特定对象实例 但我正在使用类 并且该函数将通过调用来查找并操作该属性 getattr model class model attribute 它将通过调用 这次是在对象实例上
  • 解释 iPhone 崩溃日志/堆栈跟踪

    我正在使用测试飞行SDK https testflightapp com sdk 并收到了几份与此相同的崩溃报告 但是 我无法理解它 报告中导致崩溃的根本原因是什么 Exception SIGSEGV 2 libsystem c dylib
  • UITableViewCell textLabel,在使用 GCD 时,直到发生滚动或触摸时才会更新

    有人可以帮我解决这个问题吗 My UITableViewCell 文本标签 直到我才更新scroll or touch it The 视图控制器加载 它显示适量的细胞 但内容却是一片空白 我必须触摸它或滚动才能显示我的文本标签 我在这里做错
  • 最好的屏幕抓取语言是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • solr 中的距离分面 - 如何生成在给定距离范围内搜索的链接

    在 Solr 中生成距离范围或 桶 的分面相当简单 http wiki apache org solr SpatialSearch How to facet by distance http wiki apache org solr Spa
  • 如何在 Greasemonkey 或 Tampermonkey 中排除 iframe?

    我为一个网站创建了一个 Greasemonkey 脚本 该脚本的作用是在页面末尾添加一个 div document body insertBefore myDiv document body firstChild 但现在该网站为 googl
  • JavaScript - 比较两个具有相同字符串的数组

    我目前正在做一个项目 我需要比较这两个数组并过滤掉具有相同房间名称的数组 例如 A420 2 0h 53 m 从vacant 数组 和A420 2 from booked 大批 var vacant A210 3 0h 53 m A510
  • 值对象是一个糟糕的模式吗?

    使用 VO POCO 是一种糟糕的设计模式吗 有人说一个对象的所有领域逻辑都需要集中在该对象中 例如 ProductVO ID 名称 描述 ProductBO SearchById int id Insert ProductVO newPr
  • mysql如何进行IP地址的反向解析?

    我们重新启动了一台运行 mysql 的机器 并且遇到了一些奇怪的问题 其他机器上的大多数进程都可以毫无问题地连接 如果我们显式地通过环回地址进行连接 我们也可以在本地进行连接 这有效 mysql hlocalhost utest user
  • IO.File.GetLastAccessTime 关闭一小时

    我正在开发一个程序 用于记录文件中的日期元数据 例如创建时间 上次修改时间等 该程序的旧版本是用 VBA 编写的 并执行以下操作 Public Function GetFileLastAccessTime ByVal FilePath As
  • 防伪异常:未提供所需的防伪令牌或该令牌无效

    我有一个 MVC2 应用程序 我正在尝试实施 AntiForgeryToken 帮助程序来防止 CSRF 攻击 我正在使用 Steve Sanderson 的博客来实现这一点 http blog stevensanderson com 20
  • 使用 Python 和 OpenCV 进行中值滤波器

    我尝试制作 python 程序来进行中值过滤 我得到了这篇文章http www programming techniques com 2013 02 median filter using c and opencv image html h
  • R:区分 EMPTY 省略号和包含 NULL 的省略号?

    Imagine myfunct lt function x dots lt list 如何在函数执行过程中区分点是否源自myfunct something 无点 或myfunct something NULL 点包括明确的NULL 在我的实
  • JavaScript 函数行为

    我的 JavaScript 有问题 在我的代码中有一个单选按钮 单击它应该调用UcSelect 功能 我尝试了下面的代码 但没有成功 该函数只是尝试打印一些内容以帮助我理解代码的行为
  • 如何扩展 R 包中定义的引用类?

    我想允许用户扩展我在包中定义的引用类 这是一个玩具示例 my package R Main R My Main class export Main lt setRefClass Main 加载此包后 当我尝试扩展它时收到警告 library
  • 无法迁移到 androidX

    尝试通过 Refractor gt 迁移到 AndroidX 迁移到 androidx 我已经尝试了很多次 使缓存无效并重新启动 清理 重建 但每次完成一些处理和加载时都会出现以下错误日志 java lang IllegalArgument
  • iOS 13 在更改平移方向时不会引发 panend 事件

    我有一个使用 Hammer js 事件的自定义图像滑块 我使用以下内容来创建我的 锤子 对象 const hammerPan new Hammer domElement lock vertical scrolling when pannin