UISwipeGestureRecognizer位置

use*_*123 4 iphone location gesture swipe uigesturerecognizer

我需要根据用户是否在屏幕顶部,屏幕中间或屏幕底部滑动来触发不同的事件.我正在试图找出最好/最简单的方法,因为我很确定没有办法从UISwipeGestureRecognizer获取位置.

第一个选项是使用'touches'方法创建我自己的滑动识别器.这似乎非常困难(例如,尝试区分滑动和拖动).

第二种可能性是从"触摸"方法之一(例如touchesBegan)获取位置,并以某种方式将其与滑动相关联.也许在touchesBegan中设置一个计时器,然后如果刷卡识别器在半秒左右的时间内触发,我就会知道滑动连接到那个触摸.

我能想到的第三种可能性是在我的视图上放置3个透明子视图,并为每个视图添加不同的滑动识别器.这对我来说似乎是最好的方式,除了透明视图无法识别触摸/滑动事件.那么我该如何解决这个问题呢?

有什么建议?谢谢.

Mat*_*ean 12

您可以使用UISwipeGestureRecognizer的locationOfTouch方法.

CGPoint pt = [recognizer locationOfTouch:0 inView:view];
Run Code Online (Sandbox Code Playgroud)

我相信这会给你启动手势的触摸的原始x,y坐标.