如何列出主动手势识别器?

我希望能够列出所有当前活动的手势识别器(所以我可以暂时禁用它们)。 这有可能吗?

使用UIView的gestureRecognizers属性:

 for (UIGestureRecognizer *recognizer in self.gestureRecognizers) { //Do something with recognizer } 

更多阅读: UIView

您可以为您的class级设置一个bool,并在识别器有权执行操作时将其设置为TRUE 。 如果要禁用它们,可以在识别器方法中将bool设置为FALSE 。 你只需要在做你需要的东西之前测试bool是真还是假。

由于某些原因,我在Swift中很难做到这一点,所以这里最终起作用了。

 var arrayOfGestureRecognizers: [UIGestureRecognizer] = self.topViewController.view.gestureRecognizers! as NSArray as [UIGestureRecognizer] for item in arrayOfGestureRecognizers { println("Gesture Recognizer:\(item)") }