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?
Setzen Sie UIGestureRecognizer
property cancelsTouchesInView
auf NO.
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.
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,
Tags und Links objective-c ios uiscrollview uibutton uigesturerecognizer