iOS 是不是有“触摸倾斜”常量?

Posted

技术标签:

【中文标题】iOS 是不是有“触摸倾斜”常量?【英文标题】:Is there a "touch slop" constant for iOS?iOS 是否有“触摸倾斜”常量? 【发布时间】:2015-06-29 16:03:30 【问题描述】:

android 上,有一个“触摸倾斜”概念,表示“在我们认为用户正在滚动之前,触摸可以移动”的最小距离。我们可以使用 ios 上的类似概念/常量吗?

Android 参考:https://developer.android.com/reference/android/view/ViewConfiguration.html#getScaledTouchSlop()

-- 编辑更多信息--

这是我的用例:我实际上正在为通用 UIView 实现自定义手势识别器。它应该在适当的时候触发触地、触地和点击事件。期望的效果是模拟 UIControls 如何响应一般 UIViews 上的触摸手势。问题是,当 UIView 在滚动视图中时,当滚动视图开始滚动时,单击事件不应触发。所以我只是在寻求对常量的只读访问,或者想知道这样的常量是否被普遍接受。

【问题讨论】:

即使UIViewUIScrollView 内,您是否想要一种方法来触发触地事件? 是的。效果是,如果scrollview中有类似按钮的view,touch down时背景颜色应该变暗,touch up时恢复正常。如果在触摸发生时手指保持在类似按钮的视图中,则会触发单击事件。如果滚动视图由于手指移动而开始滚动,则取消手势识别器,并立即触发触摸事件而不触发点击。 【参考方案1】:

“touch slop”属性仅适用于您使用UILongPressGestureRecognizer.(查看allowableMovement property。)系统在幕后为您处理所有手势分类逻辑。如果您需要普通UIPanGestureRecognizer 的此功能,您应该实现自己的UIGestureRecognizer 子类。更多关于子类化的信息可以在the documentation找到。

【讨论】:

感谢参考!这是我的用例:我实际上正在为通用 UIView 实现自定义手势识别器。它应该在适当的时候触发 touch down、touch up 和 click 事件。期望的效果是模拟 UIControls 如何响应一般 UIViews 上的触摸手势。问题是,当 UIView 在滚动视图中时,当滚动视图开始滚动时,单击事件不应触发。所以我只是在寻求对常量的只读访问,或者想知道这样的常量是否被普遍接受。

以上是关于iOS 是不是有“触摸倾斜”常量?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 iOS UIViewController 是不是被交互或触摸

iOS/Mobile Safari 是不是支持 HTML 图像映射中的触摸事件

检测用户是不是在 iOS 上触摸过屏幕

iOS/Android 是不是可以知道用户何时触摸了广告?

在Sprite纹理中检测触摸而不是整个框架iOS Swift SpriteKit?

触摸java常量池