测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可协议 | MIT |
发布最新发布 | 2014年12月 |
由 Juanpe Catalán 维护。
顺序执行 POP 动画,一个接一个。
克隆仓库
$ git clone https://github.com/Juanpe/JPPopSequenceAnimation.git
将 JPPopSequenceAnimationClasses
文件夹拖到您的项目中。将 #import "JPPopSequenceAnimation.h"
添加到所有需要使用它的视图控制器中。
您可以轻松设置序列重复的次数并设置起始索引
@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"];