Ich habe ein UIImageView
mit einem Bild. Jetzt habe ich ein komplett neues Bild (Grafikdatei) und möchte das hier anzeigen UIImageView
. Wenn ich nur setze
myImageView.image = newImage;
Das neue Bild ist sofort sichtbar. Nicht animierbar.
Ich möchte, dass es schön in das neue Bild übergeht. Ich dachte, vielleicht gibt es eine bessere Lösung, als nur eine neue UIImageView
zu erstellen und mit der Animation zu verschmelzen?
Antworten:
Ich bin nicht sicher, ob Sie UIViews mit Fade-Effekt animieren können, da anscheinend alle unterstützten Ansichtsübergänge in der
UIViewAnimationTransition
Aufzählung definiert sind . Der Fading-Effekt kann mit CoreAnimation erzielt werden. Beispiel für diesen Ansatz:quelle
ist eine andere Möglichkeit
quelle
In den Worten von Michael Scott, halte es einfach dumm. Hier ist eine einfache Möglichkeit, dies in Swift 3 und Swift 4 zu tun :
quelle
Hier ist ein Beispiel in Swift , bei dem zuerst ein neues Bild aufgelöst und dann eine Bouncy-Animation hinzugefügt wird:
Wenn
imageView
die Ansicht korrekt als Unteransicht hinzugefügt wurde, sollte beim Umschalten zwischenselected = false
toselected = true
das Bild mit einer Bouncy-Animation ausgetauscht werden .SNStockCellSelectionAccessoryViewImage
Gibt nur ein anderes Bild basierend auf dem aktuellen Auswahlstatus zurück, siehe unten:Das folgende GIF-Beispiel ist etwas verlangsamt, die eigentliche Animation erfolgt schneller:
quelle
Code:
Beispiel:
Spaß, ausführlichere Lösung : ( Umschalten auf einen Fingertipp )
quelle
Versuche dies:
quelle
Mit Swift 3
Verwendung:
quelle
Warum nicht versuchen?
Eine schnelle Version:
quelle
setAnimationRepeatCount
quelle
Hier gibt es verschiedene Ansätze: UIAnimations meiner Erinnerung nach klingt es nach Ihrer Herausforderung.
Edit: zu faul von mir :)
In dem Beitrag bezog ich mich auf diese Methode:
Aber anstatt den Rahmen zu animieren, animieren Sie das Alpha:
quelle
Ab iOS 5 ist dies weitaus einfacher:
quelle
Swift 4 Das ist einfach großartig
quelle
Vladimir's Antwort ist perfekt, aber jeder wie ich, der nach einer schnellen Lösung sucht
Diese Lösung ist für die schnelle Version 4.2 geeignet
Sie können diese Methode von überall aus aufrufen. Das Bild wird mit Animation zum nächsten (Bild) geändert.
Verwenden Sie für Swift Version 4.0 die folgende Lösung
quelle