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

时间:2012-03-02 18:06:00

标签: objective-c ios uigesturerecognizer

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

3 个答案:

答案 0 :(得分:22)

使用UIView的gestureRecognizers属性:

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

更多阅读:UIView

答案 1 :(得分:2)

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

答案 2 :(得分:2)

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

var arrayOfGestureRecognizers: [UIGestureRecognizer] = self.topViewController.view.gestureRecognizers! as NSArray as [UIGestureRecognizer]

for item in arrayOfGestureRecognizers {
    println("Gesture Recognizer:\(item)")
}