Ich bin neu im iPhone SDK. Im Moment programmiere ich mit CALayers, was ich sehr mag - nicht so teuer wie UIViews und viel weniger Code als OpenGL ES Sprites.Wie bekomme ich Berührungsereignisse auf einem CALayer?
Ich habe diese Frage: ist es möglich, ein Touch-Ereignis auf einem CALayer zu bekommen? Ich verstehe, wie auf einem UIView mit
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
ein Berührungsereignis zu bekommen, aber ich kann nicht überall über, wie man ein Berührungsereignis auf einem CALayer Objekt, zum Beispiel ein orangefarbenes Quadrat schwebt im 3D-Raum finden. Ich weigere mich zu glauben, dass ich der Einzige bin, der neugierig darauf ist.
Ich freue mich über jede Hilfe!
Hinweise für Klarheit: 1. Die for-Schleife ist ein wenig umständlich, da man dort überprüft nur einem Tastendruck. Die übliche Vorgehensweise besteht darin, mit [touch anyObject] oder [touch objectAtIndex: 0] einen Zeiger auf eine Berührung zu setzen. 2. Anstatt convertPoint: zu verwenden, übergeben Sie einfach "nil" an locationInView: an erster Stelle. Dies gibt den Berührungsort im Koordinatensystem des Fensters an, sodass die nächste Zeile überflüssig ist. – Rab
Ich weiß, das ist ziemlich alte Fragen. Aber nur für diejenigen, die neugierig sind. @Rab Größtenteils rechts außer [berührt objectAtIndex: 0] NSset, das eine Reihe von Berührungen darstellt, hat keinen objectAtIndex-Selektor. –
+1 Guter Punkt @EugeneProkoshev. Es ist möglich, dass jemand Berührungsereignisse in ein NSArray einfügt, aber in diesem Fall haben wir nur das NSSet, das nicht indiziert ist. Danke für die Klärung einer Klärung. :) – Rab