Подтвердить что ты не робот

Одновременное распознавание жестов для конкретных жестов

Я пытаюсь включить одновременное распознавание жестов, но только для жестов UIPinchGestureRecognizer и UIRotationGestureRecognizer. Я не хочу, чтобы он работал на любые другие жесты. Если я устанавливаю следующее свойство в true, он позволяет одновременно распознавать все жесты, как я могу ограничить его только вращением и масштабированием?

func gestureRecognizer(UIGestureRecognizer,shouldRecognizeSimultaneouslyWithGestureRecognizer:UIGestureRecognizer) -> Bool {
         return true
}
4b9b3361

Ответ 1

Убедитесь, что ваш класс реализует UIGestureRecognizerDelegate

class YourViewController: UIViewController, UIGestureRecognizerDelegate ...

Установите жест delegate на self

yourGesture.delegate = self

Добавить функцию делегата в класс

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    if (gestureRecognizer is UIPanGestureRecognizer || gestureRecognizer is UIRotationGestureRecognizer) {
        return true
    } else {
        return false
    }
}