JPPopSequenceAnimation 1.0

JPPopSequenceAnimation 1.0

测试已测试
Lang语言 Obj-CObjective C
许可协议 MIT
发布最新发布2014年12月

Juanpe Catalán 维护。



  • By
  • Juanpe Catalán

顺序执行 POP 动画,一个接一个。

安装

手动

克隆仓库

$ git clone https://github.com/Juanpe/JPPopSequenceAnimation.git

JPPopSequenceAnimationClasses 文件夹拖到您的项目中。将 #import "JPPopSequenceAnimation.h" 添加到所有需要使用它的视图控制器中。

要求

  • iOS 7.0 或更高版本
  • ARC

参数

您可以轻松设置序列重复的次数并设置起始索引

@property (nonatomic) NSInteger beginIndex;
@property (nonatomic) NSInteger numRepeats;

sequenceAnimation.numRepeats = 2;
sequenceAnimation.numRepeats = JPPopSequenceRepeatForever; // Forever

sequenceAnimation.beginIndex = 1;


如果您想获取动画回调,必须实现名为 JPPopSequenceAnimationDelegate 的协议。

@optional
- (void) sequenceDidStart:(JPPopSequenceAnimation *) sequence;
- (void) sequenceDidResume:(JPPopSequenceAnimation *) sequence;
- (void) sequenceDidStop:(JPPopSequenceAnimation *) sequence;
- (void) sequenceDidPause:(JPPopSequenceAnimation *) sequence;
- (void) sequenceDidNextAnimation:(JPPopSequenceAnimation *) sequence
                          atIndex:(NSInteger) index;


- (void) sequence:(JPPopSequenceAnimation *) sequence
animationDidStart:(POPAnimation *) anim
          atIndex:(NSInteger) index;

- (void) sequence:(JPPopSequenceAnimation *) sequence
 animationDidStop:(POPAnimation *) anim
          atIndex:(NSInteger) index
         finished:(BOOL) finished;

示例用法

POPBasicAnimation *anim = [POPBasicAnimation animationWithPropertyNamed:kPOPViewAlpha];
anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
anim.fromValue = @(1.0);
anim.toValue = @(0.0);
anim.name = @"fadeOut";

POPBasicAnimation *anim1 = [POPBasicAnimation animationWithPropertyNamed:kPOPViewAlpha];
anim1.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
anim1.fromValue = @(0.0);
anim1.toValue = @(1.0);
anim.name = @"fadeIn";

JPPopSequenceAnimation * sequenceAnimation = [[JPPopSequenceAnimation alloc] initWithAnimations:@[anim, anim1]];

sequenceAnimation.delegate = self;

[self.squareView addSequenceAnimation:sequenceAnimation
                               forKey:@"sequence_1"];