UISwipeGestureRecognizer 滑动长度

2024-01-07

知道是否有办法获取滑动手势或触摸的长度,以便我可以计算距离?


不可能通过滑动手势获得距离,因为当手势结束时,SwipeGesture 会触发您可以准确访问该位置一次的方法。
也许您想使用 UIPanGestureRecognizer。

如果您可以使用平移手势,您将保存平移的起点,如果平移已结束,则计算距离。

- (void)panGesture:(UIPanGestureRecognizer *)sender {
    if (sender.state == UIGestureRecognizerStateBegan) {
        startLocation = [sender locationInView:self.view];
    }
    else if (sender.state == UIGestureRecognizerStateEnded) {
        CGPoint stopLocation = [sender locationInView:self.view];
        CGFloat dx = stopLocation.x - startLocation.x;
        CGFloat dy = stopLocation.y - startLocation.y;
        CGFloat distance = sqrt(dx*dx + dy*dy );
        NSLog(@"Distance: %f", distance);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UISwipeGestureRecognizer 滑动长度 的相关文章

随机推荐

  • Bash 中有效标识符(例如函数、变量等)的规则是什么?

    Bash 中标识符 尤其是函数名和变量名 的语法规则是什么 我编写了一个 Bash 脚本 并在 Ubuntu Debian Red Hat 5 和 6 甚至旧的 Solaris 8 机器上的各种 Bash 版本上对其进行了测试 剧本运行得很
  • 如何使用所有 xticks 绘制 pandas 多索引数据帧

    我有一个像这样的熊猫数据框 content date 2013 12 18 12 30 00 1 2013 12 19 10 50 00 1 2013 12 24 11 00 00 0 2014 01 02 11 30 00 1 2014
  • 有没有正确的方法在本地修改 Git 子模块?

    在下面的示例中 我想演示对 Git 子模块进行更改并在本地提交可能会导致非常糟糕的情况 在这种情况下我想找到一个可行的解决方案 除了答案 伙计 不要使用Git 子模块是邪恶的 这个例子 我首先创建两个存储库 一个主项目及其子模块 for r
  • 在 Shiny 中抑制数据表中的排序

    我有一个闪亮的数据表 但我想禁用排序并去掉列标题旁边的箭头 如下图所示 我使用以下代码尝试禁用它 但没有成功 output ex lt renderDataTable inData options list bLengthChange 0
  • 使用 dplyr 按组获取序列中的第一行和最后一行[重复]

    这个问题在这里已经有答案了 我正在尝试使用dplyr按组获取重复值的第一行和最后一行 我这样做是出于效率原因 特别是为了使绘图速度更快 这不是重复的从分组数据中选择第一行和最后一行 https stackoverflow com quest
  • 具有 AzureAD Auth 的 Blazor,Context.Identity.User.Name 为 null

    只有经过身份验证的用户才能按预期访问应用程序 我需要能够通过信号器跟踪用户 例如 如果我运行 ChatHub 类型的服务 我希望人们能够使用他们的 AzureAD 用户名进行聊天 该用户名应该自动设置 而不是让人们设置自己的用户名 集线器始
  • tvOS 中意外的运动效应振荡

    我使用以下代码遇到运动效果振荡 import UIKit UIApplicationMain class AppDelegate UIResponder UIApplicationDelegate var window UIWindow f
  • 如何阅读 Coq 对 proj1_sig 的定义?

    In Coq sig定义为 Inductive sig A Type P A gt Prop Type exist forall x A P x gt sig P 我读为 sig P 是一种类型 其中 P 是一个接受 A 并返回 Prop
  • 使用 Xdebug 进行调试时启用 OPcache 时不显示局部变量

    我启用了 Xdebug 并与 OPcache 一起工作 OPcache 模块首先由 phpfpm 加载 重要 如果您尝试调试下面的代码 从浏览器 并在局部变量中放置断点 您将看到它们不会显示 如果我停用 OPCache 一切都会按预期进行
  • java.lang.NoClassDefFoundError:javax.microedition.io.Connector

    我正在尝试使用 net Web 服务 当我从手机运行它 调试 时出现以下错误 java lang NoClassDefFoundError javax microedition io Connector 当我调用传输对象时出现错误 ht c
  • 命名空间内的#define 语句

    如果我在命名空间中有 define 语句 namespace MyNamespace define SOME VALUE 0xDEADBABE 我说 define 语句不限制于命名空间是否正确 以下是 正确 的做法吗 namespace M
  • 如何从浏览器下载mp2t格式的视频

    如何从网站上的 jw 播放器下载 mp2t 视频 视频似乎是位 片段 对我来说工作 在火狐浏览器中 打开F12 工具 Firefox 标签网络 刷新页面 开始视频 过滤器 媒体 第一个文件应该是这样的文件 FILE NAME XYZ mp4
  • 如何在cmd for循环中迭代字符串?

    我正在尝试在批处理脚本中迭代字符串 set var 1 2 3 for F i in var do echo i 并得到这个输出 C gt batch bat C gt set var 1 2 3 C gt for F i in 1 2 3
  • Django 迁移和 FileSystemStorage 取决于设置

    在我的 Django 应用程序中 我使用FileSystemStorage对于生成的文件 我这样初始化它 import os from urlparse import urljoin from django conf import sett
  • POSIX 队列和 msg_max

    我正在摆弄 POSIX 队列 遇到了一个问题 创建新队列时 我可以指定消息的大小以及队列中可以有多少消息 我的正常限制是 10 如 proc sys fs mqueue msg max 除了在程序执行期间更改它之外 还有一种简单的方法吗 e
  • 节点 8 的推荐 typescript 配置

    如果我想在 Node 8 上使用已编译的源代码 推荐的 typescript 配置是什么 大多数教程使用以下内容tsconfig json compilerOptions target es6 module commonjs 但现在我发现
  • multiprocessing.Queue 的工作示例

    在从这个问题中指出它之后 我正在寻找 multiprocessing Queue 的工作示例 Python 使用多处理器 https stackoverflow com questions 4838738 python utilizing
  • Python 3 中列表内的列表分组

    我有一个字符串列表列表 如下所示 List1 John Doe 1 2 3 Henry Doe 4 5 6 我想变成这样的东西 List1 John Doe 1 2 3 Henry Doe 4 5 6 但我似乎很难这样做 List1 Joh
  • 为什么通用 ICollection 不在 .NET 4.5 中实现 IReadOnlyCollection?

    在 NET 4 5 C 5 中 IReadOnlyCollection
  • UISwipeGestureRecognizer 滑动长度

    知道是否有办法获取滑动手势或触摸的长度 以便我可以计算距离 不可能通过滑动手势获得距离 因为当手势结束时 SwipeGesture 会触发您可以准确访问该位置一次的方法 也许您想使用 UIPanGestureRecognizer 如果您可以