iOS5 UITapRecognizer für UIScrollView störend auf Schaltflächen. Wie repariert man?

8

Ich habe ein paar UIButton s innerhalb eines UIView innerhalb eines UIScrollView . Ich versuche, der Scroll-Ansicht einen Tap-Recognizer hinzuzufügen. Der Tap Recognizer wird ausgelöst, aber jetzt funktioniert keiner meiner Buttons mehr.

Ich weiß, dass UIScrollView in iOS5 ein Berührungsereignis irgendwie an die Steuerungshierarchie weitergeben kann, nachdem es damit fertig ist. Jeder kann mir helfen, herauszufinden, wie das geht?

    
Alex Stone 23.11.2011, 23:26
quelle

3 Antworten

15

Setzen Sie UIGestureRecognizer property cancelsTouchesInView auf NO.

%Vor%

Aus UIGestureRecognizer-Klassenreferenz

  

Ein boolescher Wert, der beeinflusst, ob Berührungen sind   an eine Ansicht geliefert, wenn eine Geste erkannt wird.

     

Wenn diese Eigenschaft YES ist (der Standardwert) und die   Empfänger erkennt seine Geste, die Berührungen dieser Geste, die sind   Ausstehende werden nicht an die Ansicht und die zuvor gelieferten Berührungen geliefert   werden durch ein touchesCancelled abgebrochen: withEvent: Nachricht an gesendet   die Aussicht. Wenn ein Gestenerkenner seine Geste nicht erkennt oder wenn   Der Wert dieser Eigenschaft ist NEIN, die Aussicht erhält alle Berührungen in der   Multi-Touch-Sequenz.

    
Till 23.11.2011, 23:36
quelle
2

Für mich funktionierte eine Kombination der obigen Antworten

%Vor%

-

%Vor%     
hfossli 07.02.2013 10:52
quelle
0

Sie können auch die Methode gestureRecognizer:shouldReceiveTouch: von UIGestureRecognizerDelegate verwenden, die dokumentiert ist hier , um dasselbe zu erreichen. Es bietet ein wenig mehr Flexibilität, zum Beispiel, wenn Sie bestimmte Berührungen abbrechen möchten, aber nicht andere. Hier ist ein Beispiel,

%Vor%     
john 24.11.2011 00:01
quelle