Core Animation Übergang mit Swift
Apple-Dokumentation (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/AdvancedAnimationTricks/AdvancedAnimationTricks.html) haben dieses Beispiel:
CATransition* transition = [CATransition animation];
...
Aber wenn ich habe es in Swift:
let transition = CATransition.animation()
Ich bekam eine Fehlermeldung "animation()' nicht verfügbar ist: verwenden Sie Objekt-Bau " CAAnimation()'" - das ist veraltet oder? Wenn ja, was ist die neue Weise des Tuns des übergangs?
- Lesen Sie die Fehlermeldung wieder, sagt es dir etwas helfen könnte?
- Das ist, was ich Tat, aber es ist keine CAAnimation() in CATransition.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Objective-C
[CAAnimation animation]
ist eine convenience-Methode für:CATransition
erbtCAAnimation
und daher übernimmt die convenience-Konstruktor.Swift, der diese Art der Initialisierung ist Weg, und Sie können die
CATransition
- Objekt mit dem Standardkonstruktor.Versuchen
let transition = CATransition()
CATransition.animation() verwenden, um verwendet werden, um erstellen Sie eine neue Instanz von CAAnimation. Als Sie sagte, dies scheint jetzt veraltet. CAAnimation ist nicht eine Funktion/Eigenschaft definiert in CATransition, es ist eine separate Klasse insgesamt (dies wird impliziert durch das " CA " - Präfix). Daher, es kann initialisiert werden, verwenden Sie den folgenden code:
oder
statt
CAAnimation()
ist der Konstruktor für eine CAAnimation-Objekt, das die Oberklasse von CATransition. Um eine Instanz einer CATransition, verwenden Sie den Konstruktor,CATransition()
.