ios - 如果用户轻微移动,UILongGestureRecognizer 不会触发

标签 ios objective-c uigesturerecognizer

目前,我正在使用 UILongPressGestureRecognizer 将函数添加到 UIButton,然后调用 setMinimumPressDuration:1 在按钮后调用该函数按下 1 秒。然而,我发现的一个问题是,如果用户在触摸按钮时将手指移动半厘米,它就不会调用该函数。

换句话说,即使按钮是 100x100 像素,用户基本上也必须在一个像素上停留一秒钟才能激活触发器。这对于鼠标来说非常容易,但在物理设备上却成了问题。有没有办法来解决这个问题?我正在考虑创建一个触发器,以便如果按钮的 alpha 值 < 1 持续 1 秒,它将调用该函数(当按下 UIButton 的 alpha 值为 0.75 时)。如果没有其他方法来修复 UILongGestureRecognizer 问题,我将如何实现这一目标。

在移动设备上发布。一旦我到达我的计算机,将修复任何格式问题/如果需要的话添加代码。谢谢。

最佳答案

UILongGestureRecognizer 有一个名为 allowableMovement 的属性,文档中将其描述为“手势失败之前手指在 View 上的最大移动量。”

关于ios - 如果用户轻微移动,UILongGestureRecognizer 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23875605/

相关文章:

ios - 将 Ruby 代码从苹果文档 (iPhoneOTAConfiguration) 转换为 Java

ios - 在 Spritekit 中添加音效

ios - 哪种方式更有效地验证多个文本字段已被修改?

iphone - 如何通过 SOAP 传输类的实例?

ios - 来自 url 的按钮的图像 - 等待 10 秒后返回失败。主运行循环模式 : kCFRunLoopDefaultMode

ios - func return does notReturn String from my conform to protocol StringLiteralConvertible 错误

ios - 如何在不更改导航栏色调的情况下更改底部工具栏色调颜色?

ios - Swift:获取 UIPanGestureRecognizer 的目标

ios - 如何在 Swift 4 中的 View Controller 中将多个 uiview 拖动到另一个 uiview 或图像上

ios - 使用点击从视频中获取缩略图