Inhaltsverzeichnis:
Video: Heavy's iPhone - Team Fortress 2 Animation 2025
Glücklicherweise ist das meiste, was Sie in Bezug auf die iOS-Animation tun müssen, bereits in das Framework integriert. Einige Ansichtseigenschaften können animiert werden (z. B. der Mittelpunkt), was bedeutet, dass Sie nur der Ansicht mitteilen müssen, wo sie beginnen und wo sie enden soll, und ein paar andere optionale Parameter, und Sie sind fertig.
Die Ansicht selbst (in der UIView-Basisklasse) verfügt über die Funktionalität zum Animieren der Verschiebung. Um Ihnen einen Kontext zu geben, in dem Sie verstehen können, wie Animation auf dem iPhone und iPad funktioniert, müssen Sie jedoch verstehen, was unter der Haube vor sich geht, wenn ein Framework die Animationsarbeiten für Sie erledigt.
Genauer gesagt, müssen Sie sich etwas näher mit den Ansichten, ihren Eigenschaften und den Koordinatensystemen auf dem iPad befassen.
Geometrie und Koordinatensysteme anzeigen
Das Standard-Koordinatensystem in UIKit legt seinen Ursprung in der oberen linken Ecke an und hat Achsen, die sich vom Ursprungspunkt nach unten und nach rechts erstrecken. Koordinatenwerte werden mit Gleitkommazahlen dargestellt und Sie müssen sich nicht um die Bildschirmauflösung kümmern. die Frameworks erledigen das automatisch.
Die Abbildung zeigt dieses Koordinatensystem relativ zum iPad-Bildschirm. Neben dem Bildschirmkoordinatensystem definieren Ansichten eigene lokale Koordinatensysteme, mit denen Sie Koordinaten relativ zur Ansicht anstatt zum Bildschirm angeben können.
Das Koordinatensystem auf einem iPad-Bildschirm (mit einer geteilten Ansicht).Da jede Ansicht und jedes Fenster ein eigenes lokales Koordinatensystem definiert, müssen Sie beim Zeichnen oder beim Umgang mit Koordinaten darauf achten, welches Koordinatensystem Sie verwenden. Es klingt bedrohlich, aber es ist wirklich keine große Sache, wenn man sich in den Rhythmus der Arbeit mit den Koordinatensystemen begibt.
Punkte gegen Pixel
Okay, wo kommt das hochauflösende Display daher?
In iOS werden alle Koordinatenwerte und Entfernungen mithilfe von Gleitkommawerten in Einheiten angegeben, die als -Punkte bezeichnet werden. Die messbare Größe eines Punktes variiert von Gerät zu Gerät und ist weitgehend irrelevant. Die Hauptsache über Punkte zu verstehen ist, dass sie einen festen Bezugsrahmen für das Zeichnen bieten.
Zum Beispiel beträgt die Bildschirmgröße (Breite x Höhe) für das iPhone 4s 480 x 320 Punkte und für das iPad 1024 x 768 Punkte.
Also, obwohl ein iPhone 4s mit Retina-Display eine Auflösung von 960 x 640 Pixeln Pixel (eine Pixeldichte von 326 Pixeln pro Zoll [ppi]) und ein Non-Retina-Display eine 480- by-320- Pixel -Auflösung (163 ppi). Solange Sie die Schnittstelle so gestalten, dass sie für Bildschirmgrößen in Punkten geeignet ist, werden Ihre Ansichten auf dem entsprechenden Gerätetyp korrekt angezeigt.Die gleichen Prinzipien gelten für Nicht-Retina- und Retina-Displays auf dem iPad.
Der Take-away hier ist: "Mach dir keine Sorgen über die Auflösung; Konzentrieren Sie sich auf Punkte und alles wird gut. "
Die Größe und Position einer Ansicht
Die Position eines Ansichtsobjekts in einem Koordinatensystem wird entweder anhand seines Rahmens oder seiner Zentrumeigenschaft bestimmt:
-
Die Eigenschaft frame enthält das Rahmenrechteck, das die Größe und Position des Koordinatensystems angibt. Betrachten Sie in das Koordinatensystem der Supersicht.
-
Die center-Eigenschaft enthält den bekannten Mittelpunkt der Ansicht im Koordinatensystem der Supersicht.
In deinen Wanderungen wirst du eines Tages auf die Eigenschaft bounds stoßen. Sie ist mit dem Begrenzungsrechteck verknüpft, das die Größe der Ansicht (und ihren Inhaltsursprung) im eigenen lokalen Koordinatensystem der Ansicht angibt. Die Abbildung zeigt den Rahmen der Hauptansicht des iPad (nicht die Bildansicht) mit einem Ursprung von x = 0 und y = 20. Seine Größe wird als Breite = 320 und Höhe = 460 angezeigt. bei y = 20 ist der Rahmen in seinen Fensterkoordinaten (seine Superansicht), und er muss das Fenster mit der Statusleiste teilen, die, wie Sie vielleicht ableiten, 20 Pixel hoch ist.