Jika Anda menargetkan iOS7 dan sudah membagi gambar menjadi beberapa bingkai, Anda dapat menggunakan animatedImageNamed:duration:
.
Misalkan Anda menganimasikan pemintal. Salin semua bingkai Anda ke dalam proyek dan beri nama sebagai berikut:
spinner-1.png
spinner-2.png
spinner-3.png
- dll. ,
Kemudian buat gambar melalui:
[UIImage animatedImageNamed:@"spinner-" duration:1.0f];
Dari dokumen :
Metode ini memuat serangkaian file dengan menambahkan serangkaian angka ke nama file dasar yang diberikan dalam parameter name. Misalnya, jika parameter nama memiliki 'gambar' sebagai isinya, metode ini akan mencoba memuat gambar dari file dengan nama 'gambar0', 'gambar1' dan seterusnya hingga 'gambar1024'. Semua gambar yang disertakan dalam gambar animasi harus memiliki ukuran dan skala yang sama.
Saya akan merekomendasikan menggunakan kode berikut, jauh lebih ringan, dan kompatibel dengan proyek ARC dan non-ARC, ini menambahkan kategori sederhana di UIImageView:
https://github.com/mayoff/uiimage-from-animated-gif/
sumber
FLAnimatedImage adalah mesin GIF animasi open source yang berkinerja baik untuk iOS:
Ini adalah komponen yang telah teruji dengan baik yang saya tulis untuk memberi daya pada semua GIF di Flipboard .
sumber
Alternatif lain adalah menggunakan a
UIWebView
untuk menampilkan GIF animasi. Jika GIF akan diambil dari server, maka ini menangani pengambilan. Ini juga berfungsi dengan GIF lokal.sumber
Dari kerangka iOS 11 Foto memungkinkan untuk menambahkan pemutaran Gifs animasi.
Aplikasi sampel dapat diunduh di siniInfo selengkapnya tentang pemutaran animasi Gif (mulai dari 13:35 menit): https://developer.apple.com/videos/play/wwdc2017/505/
sumber
#import <QuickLook/QuickLook.h> #import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; QLPreviewController *preview = [[QLPreviewController alloc] init]; preview.dataSource = self; [self addChildViewController:preview]; [self.view addSubview:preview.view]; } #pragma mark - QLPreviewControllerDataSource - (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)previewController { return 1; } - (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx { NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myanimated.gif" ofType:nil]]; return fileURL; } @end
sumber
Anda dapat menggunakan SwiftGif dari tautan ini
Pemakaian:
imageView.loadGif(name: "jeremy")
sumber