我希望能够列出所有当前活动的手势识别器(以便我可以暂时禁用它们)。有没有可能做到这一点?
gestureRecognizers
属性:for (UIGestureRecognizer *recognizer in self.gestureRecognizers)
{
//Do something with recognizer
}
更多阅读: UIView
由于某些原因,我在Swift中很难做到这一点,所以以下是最终的解决方法。
var arrayOfGestureRecognizers: [UIGestureRecognizer] = self.topViewController.view.gestureRecognizers! as NSArray as [UIGestureRecognizer]
for item in arrayOfGestureRecognizers {
println("Gesture Recognizer:\(item)")
}
BOOL isGestureActive = (recognizer.state != 0);
但是,如果.state
是UIGestureRecognizerStatePossible
,则可能会出现误报。在这种情况下,您应该检查.numberOfTouches != 0
。 - Albert Renshaw