Я хотел бы иметь возможность перечислять все активные активные распознаватели жестов (поэтому я могу временно отключить их). Возможно ли это как-то?
Как перечислить активные распознаватели жестов?
Ответ 1
Используйте свойство UIView gestureRecognizers
:
for (UIGestureRecognizer *recognizer in self.gestureRecognizers)
{
//Do something with recognizer
}
Дополнительная информация: UIView
Ответ 2
У вас может быть bool для вашего класса и установить его в TRUE, когда у распознавателей есть разрешение на выполнение каких-либо действий. Если вы хотите отключить их, вы можете установить bool в FALSE в методах распознавания. Вам просто нужно проверить, является ли bool истинным или ложным, прежде чем делать то, что вам нужно.
Ответ 3
По некоторым причинам мне было тяжело это делать в Swift, поэтому вот что получилось.
var arrayOfGestureRecognizers: [UIGestureRecognizer] = self.topViewController.view.gestureRecognizers! as NSArray as [UIGestureRecognizer]
for item in arrayOfGestureRecognizers {
println("Gesture Recognizer:\(item)")
}