一次只能调用一个PanGesture

问题描述

例如,我有多个带有多个手势的按钮

   let buttonGes: UIPanGestureRecognizer = UIPanGestureRecognizer(target: self,action: #selector(buttonPanGesture(recognizer:)))
   button.addGestureRecognizer(buttonGes)

我的问题是,当我拖动一个按钮并尝试同时拖动另一个按钮时,我的逻辑无法正常工作。因此,我想限制一次只能调用1个手势,该怎么办?

更新:我尝试过一种方法,在state .began处创建其他按钮isUserInteractionEnabled = false,然后在state .ended处重新启用。效果很好,但我不知道这是不是最优化的代码,还是有更好的方法

解决方法

为此工作,您应该使用UIGestureRecognizerDelegate以获得更好的清晰度

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...