CABasicAnimation初始化通过animationwithkeypath的Key值设置动画

xiaoxiao2021-02-28  105

转自:http://www.jianshu.com/p/d42012d3588c

transform.scale = 比例轉換

transform.scale.x = 闊的比例轉換

transform.scale.y = 高的比例轉換

transform.rotation.z = 平面圖的旋轉

opacity = 透明度

margin = 布局

zPosition = 翻转

backgroundColor = 背景颜色

cornerRadius = 圆角

borderWidth = 边框宽

bounds = 大小

contents = 内容

contentsRect = 内容大小

cornerRadius = 圆角

frame = 大小位置

hidden = 显示隐藏

mask

masksToBounds

opacity

position

shadowColor

shadowOffset

shadowOpacity

shadowRadius

实例几种动画初始化:

//界限       CABasicAnimation *boundsAnimation = [CABasicAnimation animationWithKeyPath:@"bounds"];       boundsAnimation.fromValue = [NSValue valueWithCGRectself.ViewTest.bounds];       boundsAnimation.toValue = [NSValue valueWithCGRect:CGRectZero];       //透明度变化       CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];       opacityAnimation.fromValue = [NSNumber numberWithFloat:1.0];       opacityAnimation.toValue = [NSNumber numberWithFloat:0.5];              //位置移动       CABasicAnimation *animation  = [CABasicAnimation animationWithKeyPath:@"position"];       animation.fromValue =  [NSValue valueWithCGPointself.ViewTest.layer.position];       CGPoint toPoint = self.ViewTest.layer.position;       toPoint.x += 180;       animation.toValue = [NSValue valueWithCGPoint:toPoint];              //旋转动画       CABasicAnimation* rotationAnimation =       [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];//"z"还可以是“x”“y”,表示沿z轴旋转              rotationAnimation.toValue = [NSNumber numberWithFloat:(22 * M_PI) * 3];       // 3 is the number of 360 degree rotations              // Make the rotation animation duration slightly less than the other animations to give it the feel       // that it pauses at its largest scale value       rotationAnimation.duration = 3.0f;       rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; //缓入缓出       //rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];              //缩放动画       CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];       scaleAnimation.fromValue = [NSNumber numberWithFloat:0.0];       scaleAnimation.toValue = [NSNumber numberWithFloat:1.0];       scaleAnimation.duration = 3.0f;       scaleAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];       //组合动画       CAAnimationGroup *animationGroup = [CAAnimationGroup animation];       animationGroup.duration = 3.0f;       animationGroup.autoreverses = YES;   //是否重播,原动画的倒播       animationGroup.repeatCount = NSNotFound;//HUGE_VALF;     //HUGE_VALF,源自math.h       [animationGroup setAnimations:[NSArray arrayWithObjects:rotationAnimation, scaleAnimation,boundsAnimation, nil nil]];              //将上述动画编组应用              [self.ViewTest.layer addAnimation:animationGroup forKey:@"animationGroup"];  

转载请注明原文地址: https://www.6miu.com/read-48963.html

最新回复(0)