7 Stimmen

Animieren eines UIImage oder UIImageView?

Ich versuche, die Höhe eines Bildes zu animieren (von einer Höhe von 0 Pixeln auf 480 Pixel), um den Effekt zu erzeugen, dass das Bild von oben nach unten gerendert wird.

Bei einer UIImageView ist mir aufgefallen, dass sie im Interface Builder korrekt erscheint. Aber wenn es im Simulator läuft, wird die Größe (Breite und Höhe) immer auf die Größe des Bildes eingestellt. Das heißt, wenn ich die Höhe der Bildansicht auf 50 % der ursprünglichen Höhe einstelle, wird das Bild immer noch in voller Höhe gerendert.

Ich habe auch versucht, diesen Effekt mit einem UIImage zu erzielen. Doch obwohl die Größe des Bildes korrekt erscheint, wird das Bild so skaliert, dass es die Größe/das Seitenverhältnis widerspiegelt.

Frage: Wie kann ich diese dynamische Größenanpassung (d.h. Animation der Größe eines Bildes) erreichen, ohne das Bild zu skalieren? Ich dachte über die Verwendung von CGImageCreateWithMask, aber im ziemlich sicher, dass würde riesige Leistung Schluckauf erstellen.

* Aktualisieren *

Der Effekt, den ich suche, ist der folgende: Animieren Sie ein Bild, indem Sie es in der Höhe wachsen lassen, von unten nach oben (wie eine Reihe von Jalousien an einem Fenster gezogen werden). Dieses Bild kann nicht skaliert werden (da es sonst den visuellen Effekt einer "Jalousie" verlieren würde). Dieses Bild muss außerdem über einem anderen Bild gerendert werden. Es gibt also insgesamt 2 Bilder.

* ANTWORT *

Für die oberste Bildansicht habe ich den Inhaltsmodus auf Oben gesetzt (damit sie nicht skaliert). Dann in Code, ich setze die clipsToBounds auf True. Jetzt bin ich in der Lage, die oberste imageview Höhe so geben mir den Effekt, den ich suche zu animieren.

0voto

Madhup Singh Yadav Punkte 8147

Werfen Sie einen Blick auf Flip Clock für die iPad-Anleitung. Es ist mit Kern-Animation, daher hat einen Leistungsbonus.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X