多个动画的灵活组合(Core Animation)

  最近的项目涉及到动画的连接,  需求是  1-25秒 的一个横向位移动画  在23-25s 的时候隐身,需要完美衔接!  由于本人很菜所以只想到 定时器  延时方法 但是 都不完美 , 然后搜索资料的时候发现了  CAAnimationGroup. 

CAAnimationGroup 可以 把 各个 动画 衔接在一起


CABasicAnimation*opacityAnimation1 = [CABasicAnimationanimationWithKeyPath:@"opacity"];

opacityAnimation1.fromValue= [NSNumbernumberWithFloat:0.0];

opacityAnimation1.toValue= [NSNumbernumberWithFloat:1.0];

//注意setBeginTime在第几秒开始动画duration持续多久

[opacityAnimation1setBeginTime:0];

opacityAnimation1.duration=1;

CABasicAnimation*animation=[CABasicAnimationanimationWithKeyPath:@"transform.translation.x"];

animation.toValue=[NSValuevalueWithCGRect:CGRectMake(width1 -self.view.frame.size.width,0, width1, height)];

[animationsetBeginTime:0];

animation.duration=25;

animation.removedOnCompletion=NO;

animation.fillMode=kCAFillModeForwards;

CABasicAnimation*opacityAnimation = [CABasicAnimationanimationWithKeyPath:@"opacity"];

opacityAnimation.fromValue= [NSNumbernumberWithFloat:1.0];

opacityAnimation.toValue= [NSNumbernumberWithFloat:0.0];

[opacityAnimationsetBeginTime:24];

opacityAnimation.duration=1;

CAAnimationGroup*group = [CAAnimationGroupanimation];

group.duration=25;

group.animations=@[opacityAnimation1,animation,opacityAnimation];

group.removedOnCompletion=NO;

group.repeatCount=100000;

[yun_1.layeraddAnimation:groupforKey:@"group"];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容