Wenn Sie auf iOS7 abzielen und das Bild bereits in Frames aufgeteilt haben, können Sie es verwenden animatedImageNamed:duration:
.
Angenommen, Sie animieren einen Spinner. Kopieren Sie alle Ihre Frames in das Projekt und benennen Sie sie wie folgt:
spinner-1.png
spinner-2.png
spinner-3.png
- usw. ,
Dann erstellen Sie das Bild über:
[UIImage animatedImageNamed:@"spinner-" duration:1.0f];
Aus den Dokumenten :
Diese Methode lädt eine Reihe von Dateien, indem eine Reihe von Zahlen an den im Parameter name angegebenen Basisdateinamen angehängt wird. Wenn der Parameter name beispielsweise "image" als Inhalt enthält, versucht diese Methode, Bilder aus Dateien mit den Namen "image0", "image1" usw. bis zu "image1024" zu laden. Alle im animierten Bild enthaltenen Bilder sollten dieselbe Größe und denselben Maßstab haben.
Ich würde empfehlen, den folgenden Code zu verwenden. Er ist viel leichter und mit ARC- und Nicht-ARC-Projekten kompatibel. Er fügt UIImageView eine einfache Kategorie hinzu:
https://github.com/mayoff/uiimage-from-animated-gif/
quelle
FLAnimatedImage ist eine performante animierte Open Source-GIF-Engine für iOS:
Es ist eine gut getestete Komponente, die ich geschrieben habe, um alle GIFs in Flipboard mit Strom zu versorgen .
quelle
Eine andere Alternative ist die Verwendung von a
UIWebView
, um das animierte GIF anzuzeigen. Wenn das GIF von einem Server abgerufen werden soll, wird das Abrufen erledigt. Es funktioniert auch mit lokalen GIFs.quelle
Ab iOS 11 ermöglicht das Fotos-Framework das Hinzufügen einer animierten Gifs-Wiedergabe.
Beispiel-App kann hier heruntergeladen werdenWeitere Informationen zur animierten Gifs-Wiedergabe (ab 13:35 Minuten): https://developer.apple.com/videos/play/wwdc2017/505/
quelle
quelle
Sie können SwiftGif über diesen Link verwenden
Verwendung:
quelle