使用滑动手势和触摸同时开始/移动/结束

时间:2014-11-15 20:27:12

标签: ios swift

我正在尝试使用滑动手势以及触摸中的一些逻辑开始/移动/结束。理想情况下,如果:

会很好
  • 用户向左/向右滑动,触摸开始/移动/结束逻辑未被调用(或取消)。
  • 对于所有其他情况,触摸开始/移动/结束逻辑像往常一样被调用。

这可能吗?

我尝试添加以下内容(基于process both touch event and gesture recognizer),但仍然会调用移动/结束的触摸:

leftSwipeGestureRecognizer.delaysTouchesBegan = true 
self.leftSwipeGestureRecognizer.cancelsTouchesInView = false

2 个答案:

答案 0 :(得分:6)

应该是:

self.leftSwipeGestureRecognizer.cancelsTouchesInView = YES

这意味着:在识别手势的情况下取消触摸,否则,触摸开始/移动/结束调用。

来自文档:

  

当此属性为YES(默认值)且接收方识别时   它的手势,那个待处理的手势的触摸不是   发送到视图,以前发送的触摸被取消   通过touchesCancelled:withEvent:消息发送到视图。如果一个   手势识别器无法识别其手势或者是否为其值   此属性为NO,视图接收多点触控中的所有触摸   序列

答案 1 :(得分:1)

在这种情况下,我会为触摸开始/移动/结束时的新行为创建自定义UIGestureRecognizer。有用的链接here。比我为刷卡和客户识别器设置delegate并实施gestureRecognizer:shouldRequireFailureOfGestureRecognizer:方法来满足要求。 Link to documentation