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



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

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

这可能吗?

我尝试添加以下内容(基于进程触摸事件和手势识别器),但仍然调用移动/结束的触摸:

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

应该是:

self.leftSwipeGestureRecognizer.cancelsTouchesInView = YES

这意味着:如果手势被识别,触摸将被取消,否则,触摸开始/移动/结束被调用。

从文档:

当此属性为 YES(默认值)并且接收方识别 它的手势,那个手势的触摸不是 已交付到视图,之前交付的触摸将被取消 通过触摸取消:与事件:发送到视图的消息。如果 手势识别器无法识别其手势,或者如果值 此属性为 NO,视图接收多点触控中的所有触摸 序列。

在这种情况下,

我将为开始/移动/结束的触摸中的新行为创建自定义UIGestureRecognizer。有用的链接在这里。然后我会为滑动和自定义识别器设置delegate,并实现gestureRecognizer:shouldRequireFailureOfGestureRecognizer:方法来满足要求。文档链接。

最新更新