ALAnimationView 0.1.1

ALAnimationView 0.1.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2015年5月

Alex Leite维护。



  • 作者
  • Alex Leite

ALAnimationView 是一个自定义的 UIView 子类,允许您从一系列的 UIImages 中创建动画。在的に,它扩展了 UIImageView 类的默认图像动画支持,允许您在任何点开始、停止和倒放动画。它提供了访问当前动画帧的功能,并让您定义动画是否应该重复(循环)。

您还可以通过一系列委托方法对动画事件(如击中某个帧、倒放、开始播放等)做出反应。最后,该类包含一个便利方法,这让填充它作为帧接收的 UIImages 列表变得更加容易。

在下面的文档中了解如何使用该类

安装

要在此项目中使用此类,您只需复制 ALAnimationView.h 和 ALAnimationView.m 文件。如果您正在使用 Cocoapods,建议您将 'ALAnimationView' pod 添加到 Podfile 中。

使用该类

使用 ALAnimationView 类非常简单

初始化

在下面的例子中,假设 animationImages 是一个包含一系列 UIImages 的 NSArray

ALAnimationView *animationView = [[ALAnimationView alloc] initWithFrame:CGRectMake(0.0, 0.0, 60.0, 60.0)
                                                        animationImages:animationImages
                                                      animationDuration:1.0
                                                                repeats:YES];

便利方法

ALAnimationView 包含便利方法,可用于轻松填充您将要用于动画的 UIImages 数组,假设您使用标准的命名规范。使用此方法时,需要注意以下要素 - 图像名称 是图像的前缀。 帧数 表示您动画中有多少个图像 - 用数字命名文件,从1开始。最后,零的个数 表示后缀数字格式 - 例如,具有3个零的序列的第一帧文件将结束于 "001"。

以下是如何使用此方法的示例

//- The method:
NSArray *animationImages = [ALAnimationView animationImagesArrayWithName:@"Bird" numberOfFrames:10 numberOfZeroes:3];

//- is equivalent to:
NSArray *animationImages = @[
                             [UIImage imageNamed:@"Bird001"],
                             [UIImage imageNamed:@"Bird002"],
                             [UIImage imageNamed:@"Bird003"],
                             [UIImage imageNamed:@"Bird004"],
                             [UIImage imageNamed:@"Bird005"],
                             [UIImage imageNamed:@"Bird006"],
                             [UIImage imageNamed:@"Bird007"],
                             [UIImage imageNamed:@"Bird008"],
                             [UIImage imageNamed:@"Bird009"],
                             [UIImage imageNamed:@"Bird010"]
                            ];

控制动画

控制动画非常直接

[animationView play];   //<- starts the animation;
[animationView stop];   //<- stops (pauses) the animation;
[animationView rewind]; //<- rewinds the animation;

要检查当前帧,只需使用

animationView.currentFrame;

委托方法

最后,如果您想让您的应用程序对 UIAnimatioView 的事件做出反应,您只需要设置一个符合 ALAnimationViewDelegate 协议的委托。该协议有以下可选方法

-(void)animationViewDidStartPlaying:(ALAnimationView *)animationView;
-(void)animationViewDidStopPlaying:(ALAnimationView *)animationView;
-(void)animationViewDidRewind:(ALAnimationView *)animationView;
-(void)animationView:(ALAnimationView *)animationView didGoToFrame:(NSInteger)frameNumber;

要看到类如何运行,请下载此项目。该项目包括一个可以在 iPhone 模拟器或具有示例代码的设备上运行的程序。

希望这有助于您!

许可证

此组件可在 MIT 许可证下使用。