2015-06-14 5 views
10

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

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

ответ

30

Убедитесь, что класс реализует 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 
    } 
} 
+7

Не забудьте сделать себе UIGestureRecognizerDelegate – Pbk

+6

и не забудьте установить yourGesture.delegate = сам – budidino

Смежные вопросы