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 在滚动视图中时,当滚动视图开始滚动时,单击事件不应触发。所以我只是在寻求对常量的只读访问,或者想知道这样的常量是否被普遍接受。
【问题讨论】:
即使UIView
在UIScrollView
内,您是否想要一种方法来触发触地事件?
是的。效果是,如果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 图像映射中的触摸事件