一个iOS高性能的GIF动画引擎:XAnimatedImage
jopen
9年前
XAnimatedImage是一个iOS高性能的GIF动画引擎,采用Swift开发基于FLAnimatedImage。
An illustration is shown below:
特性
- Plays multiple GIFs simultaneously with a playback speed comparable to desktop browsers
- Honors variable frame delays
- Eliminates delays or blocking during the first playback loop
- Interprets the frame delays of fast GIFs the same way modern browsers do
Who is this for?
- Apps that don't support animated GIFs yet
- Apps that already support animated GIFs but want a higher performance solution
- People who want to tinker with the code (the corresponding blog post describing the original FLAnimatedImage repo is a great place to start; also see the To Do section below)
Requirements
- iOS 7.1+
- Xcode 7.1+
Installation
XAnimatedImage, like it's original counterpart FLAnimatedImage, is a well encapsulated drop-in component. Simply replace yourUIImageViewinstances with instances ofXAnimatedImageViewto get animated GIF support. There is no central cache or state to manage.
Manually
You can integrate XAnimatedImage into your project manually. You can do it by copying the "Classes" folder in your project (make sure that "Create groups" option is selected).
Other
Other installation methods are currently being integrated into the project. Currently, this repository supports only manual installation. Planned, future installation methods will include:
- CocoaPods
- Carthage
Usage
var animatedImage = XAnimatedImage(initWithAnimatedGIFData: NSData(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("example", ofType: "gif")!))!) var animatedImageView = XAnimatedImageView() animatedImageView.animatedImage = animatedImage animatedImageView.frame = CGRectMake(0,0,100,100) self.view.addSubview(animatedImageView)