CocoaPods trunk is moving to be read-only. Read more on the blog, there are 19 months to go.
TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | May 2016 |
Maintained by Anton Kononenko.
FLAnimatedImage is a performant animated GIF engine for iOS:
It's a well-tested component that powers all GIFs in Flipboard. To understand its behavior it comes with an interactive demo:
FLAnimatedImage is a well encapsulated drop-in component. Simply replace your UIImageView
instances with instances of FLAnimatedImageView
to get animated GIF support. There is no central cache or state to manage.
If using CocoaPods, the quickest way to try it out is to type this on the command line:
$ pod try FLAnimatedImage
To add it to your app, copy the two classes FLAnimatedImage.h/.m
and FLAnimatedImageView.h/.m
into your Xcode project or add via CocoaPods by adding this to your Podfile:
pod 'FLAnimatedImage', '~> 1.0'
In your code, #import "FLAnimatedImage.h"
, create an image from an animated GIF, and setup the image view to display it:
FLAnimatedImage *image = [FLAnimatedImage animatedImageWithGIFData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://raphaelschaad.com/static/nyan.gif"]]];
FLAnimatedImageView *imageView = [[FLAnimatedImageView alloc] init];
imageView.animatedImage = image;
imageView.frame = CGRectMake(0.0, 0.0, 100.0, 100.0);
[self.view addSubview:imageView];
It's flexible to integrate in your custom image loading stack and backwards compatible to iOS 6.
It uses ARC and the Apple frameworks QuartzCore
, ImageIO
, MobileCoreServices
, and CoreGraphics
.
It has fine-grained logging. By default, it uses NSLog. However, if your project uses CocoaLumberjack, it automatically can detect that and use CocoaLumberjack to send logs to the configured output.
Since FLAnimatedImage is licensed under MIT, it's compatible with the terms of using it for any app on the App Store.
FLAnimatedImage
should become a UIImage
subclassThis has successfully shipped to many people as is, but please do come with your questions, issues and pull requests!
Feel free to reach out to @RaphaelSchaad for further help.
Using FLAnimatedImage in your app? Let me know!