12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- //
- // YYFrameImage.h
- // YYImage <https://github.com/ibireme/YYImage>
- //
- // Created by ibireme on 14/12/9.
- // Copyright (c) 2015 ibireme.
- //
- // This source code is licensed under the MIT-style license found in the
- // LICENSE file in the root directory of this source tree.
- //
- #import <UIKit/UIKit.h>
- #if __has_include(<YYImage/YYImage.h>)
- #import <YYImage/YYAnimatedImageView.h>
- #elif __has_include(<YYWebImage/YYImage.h>)
- #import <YYWebImage/YYAnimatedImageView.h>
- #else
- #import "YYAnimatedImageView.h"
- #endif
- /**
- An image to display frame-based animation.
-
- @discussion It is a fully compatible `UIImage` subclass.
- It only support system image format such as png and jpeg.
- The animation can be played by YYAnimatedImageView.
-
- Sample Code:
-
- NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"];
- NSArray *times = @[@0.1, @0.2, @0.1];
- YYFrameImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES];
- YYAnimatedImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image];
- [view addSubView:imageView];
- */
- @interface YYFrameImage : UIImage <YYAnimatedImage>
- /**
- Create a frame animated image from files.
-
- @param paths An array of NSString objects, contains the full or
- partial path to each image file.
- e.g. @[@"/ani/1.png",@"/ani/2.png",@"/ani/3.png"]
-
- @param oneFrameDuration The duration (in seconds) per frame.
-
- @param loopCount The animation loop count, 0 means infinite.
-
- @return An initialized YYFrameImage object, or nil when an error occurs.
- */
- - (instancetype)initWithImagePaths:(NSArray *)paths oneFrameDuration:(NSTimeInterval)oneFrameDuration loopCount:(NSUInteger)loopCount;
- /**
- Create a frame animated image from files.
-
- @param paths An array of NSString objects, contains the full or
- partial path to each image file.
- e.g. @[@"/ani/frame1.png",@"/ani/frame2.png",@"/ani/frame3.png"]
-
- @param frameDurations An array of NSNumber objects, contains the duration (in seconds) per frame.
- e.g. @[@0.1, @0.2, @0.3];
-
- @param loopCount The animation loop count, 0 means infinite.
-
- @return An initialized YYFrameImage object, or nil when an error occurs.
- */
- - (instancetype)initWithImagePaths:(NSArray *)paths frameDurations:(NSArray *)frameDurations loopCount:(NSUInteger)loopCount;
- /**
- Create a frame animated image from an array of data.
-
- @param dataArray An array of NSData objects.
-
- @param oneFrameDuration The duration (in seconds) per frame.
-
- @param loopCount The animation loop count, 0 means infinite.
-
- @return An initialized YYFrameImage object, or nil when an error occurs.
- */
- - (instancetype)initWithImageDataArray:(NSArray *)dataArray oneFrameDuration:(NSTimeInterval)oneFrameDuration loopCount:(NSUInteger)loopCount;
- /**
- Create a frame animated image from an array of data.
-
- @param dataArray An array of NSData objects.
-
- @param frameDurations An array of NSNumber objects, contains the duration (in seconds) per frame.
- e.g. @[@0.1, @0.2, @0.3];
-
- @param loopCount The animation loop count, 0 means infinite.
-
- @return An initialized YYFrameImage object, or nil when an error occurs.
- */
- - (instancetype)initWithImageDataArray:(NSArray *)dataArray frameDurations:(NSArray *)frameDurations loopCount:(NSUInteger)loopCount;
- @end
|