0125——动画2
? //顯隱
??? CABasicAnimation *capacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
??? capacityAnimation.fromValue = @1;
??? capacityAnimation.toValue = @0;
?? ?
??? //放大縮小
??? CABasicAnimation?? *scaleAniamation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
??? scaleAniamation.fromValue = @0.5;
??? scaleAniamation.toValue = @1.5;
?? ????
??? //移動
??? CABasicAnimation *moveAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
??? moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(200, 200)];
?? ?
??? //旋轉
??? CABasicAnimation *rotateAniamation = [CABasicAnimation animationWithKeyPath:@"transform"];
??? rotateAniamation.fromValue = [NSValue valueWithCATransform3D:CATransform3DIdentity];
??? rotateAniamation.toValue = [NSValue valueWithCATransform3D:CATransform3DRotate(_layer.transform, M_PI, 0.3, 0.5, 1)];
?? ?
//添加動畫
??? [CATransaction setAnimationDuration:1.0];//動畫速度
??? [_layer addAnimation:capacityAnimation forKey:nil];
??? [_layer addAnimation:scaleAniamation forKey:nil];
??? [_layer addAnimation:moveAnimation forKey:nil];
??? [_layer addAnimation:rotateAniamation forKey:nil];
?
//組動畫 ?
??? CAAnimationGroup *group = [CAAnimationGroup animation];
??? group.duration = 1;
??? group.removedOnCompletion?? = NO;
??? group.fillMode = kCAFillModeForwards;
??? group.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
?? ?
??? group.animations = @[capacityAnimation,scaleAniamation,moveAnimation,rotateAniamation];
?? ?
??? [_layer addAnimation:group forKey:nil];
?
還有更多細節和Core Animation的高級應用:https://zsisme.gitbooks.io/ios-/content/chapter1/the-layer-tree.html
轉載于:https://www.cnblogs.com/damonWq/p/5158430.html
總結
- 上一篇: [leetcode] Bulb Swit
- 下一篇: [算法]旋转词问题