1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- //
- // YYFrameImage.h
- // YYKit <https://github.com/ibireme/YYKit>
- //
- // 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>
- #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
|