UIch kann Berührungen erkennen und ziehen

8

Ziemlich häufige Frage, auf die ich ein paar Antworten habe und ich bin fast da. Ich habe eine Taste, die, wenn sie gedrückt wird, ein Bild (Code wie folgt) erstellt

(numImages wird beim Laden auf ZERO gesetzt und dient als Aufwärtszählung für die Tag-Nummern aller erstellten Bilder)

%Vor%

Ich habe dann eine touchBegan-Methode, die erkennt, was berührt wurde. Was ich tun muss, ist, dass der Benutzer das neu erstellte Bild ziehen kann. Es funktioniert fast, aber das Bild flackert überall, wenn Sie es ziehen. Ich kann auf das Bild, auf das Sie klicken, zugreifen, da ich es TAG bekommen kann, aber ich kann es einfach nicht schön ziehen.

%Vor%

Es funktioniert, indem ich eine Ausgabe des Tags für jedes Bild erhalte, während ich auf sie klicke. Aber wenn ich ziehe, blinkt es ... irgendwelche Ideen?

    
Matt Facer 02.01.2010, 15:28
quelle

2 Antworten

34

Als Antwort auf meine Frage habe ich beschlossen, eine Klasse für die Bearbeitung der Bilder zu erstellen, die ich in der Ansicht platziere.

Code, wenn jemand interessiert ist ....

Draggable.h

%Vor%

Draggable.m

%Vor%

und um es anzurufen

%Vor%     
Matt Facer 02.01.2010, 19:42
quelle
1

Normalerweise erhalten Sie eine implizite Animation, wenn Sie center ändern. Verarschst du dich mit -contentMode oder mit -setNeedsDisplay ?

Sie können explizit eine Animation anfordern, um das Löschen zu vermeiden und auf diese Weise neu zu zeichnen:

%Vor%

Beachten Sie, dass NSLog() sehr langsam sein kann (viel langsamer als erwartet; es ist viel komplizierter als ein einfaches printf ), und das kann Probleme verursachen, die so oft wie touchesMoved:withEvent: .

Übrigens, Sie verlieren tmpImage .

    
Rob Napier 02.01.2010 16:48
quelle

Tags und Links