美文网首页
多个动画的灵活组合(Core Animation)

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

作者: 不知道为什么 | 来源:发表于2016-12-05 19:03 被阅读84次

  最近的项目涉及到动画的连接,  需求是  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"];

相关文章

网友评论

      本文标题:多个动画的灵活组合(Core Animation)

      本文链接:https://www.haomeiwen.com/subject/qnqlmttx.html