2015-06-14 12 views
10

Sto tentando di abilitare il riconoscimento simultaneo dei gesti ma solo per i gesti UIPinchGestureRecognizer e UIRotationGestureRecognizer. Non voglio che funzioni per altri gesti. Se imposto la seguente proprietà su true, consente a tutti i gesti di essere riconosciuti simultaneamente, come posso limitarlo a rotazione e ridimensionamento?Riconoscimento simultaneo dei gesti per gesti specifici

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

risposta

30

Assicurarsi che la classe implementa UIGestureRecognizerDelegate

class YourViewController: UIViewController, UIGestureRecognizerDelegate ... 

Impostare del gesto delegate per self

yourGesture.delegate = self 

Aggiungere la funzione delegata alla tua Classe

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

Non dimenticate di farsi un UIGestureRecognizerDelegate – Pbk

+6

e non dimenticare di impostare yourGesture.delegate = auto – budidino

Problemi correlati