CABasicAnimation用法
来源:互联网 发布:钻戒哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/11 02:54
CABasicAnimation 自己只有三个property fromValue toValue ByValue
当你创建一个 CABasicAnimation 时,你需要通过-setFromValue 和-setToValue 来指定一个开始值和结束值。 当你增加基础动画到层中的时候,它开始运行。当用属性做动画完成时,例如用位置属性做动画,层就会立刻 返回到它的初始位置
几个可以用来实现热门APP应用PATH中menu效果的几个方法
+(CABasicAnimation *)opacityForever_Animation:(float)time //永久闪烁的动画
{
CABasicAnimation*animation=[CABasicAnimation animationWithKeyPath:@”opacity”];
animation.fromValue=[NSNumber numberWithFloat:1.0];
animation.toValue=[NSNumber numberWithFloat:0.0];
animation.autoreverses=YES;
animation.duration=time;
animation.repeatCount=FLT_MAX;
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
return animation;
}
+(CABasicAnimation*)opacityTimes_Animation:(float)repeatTimesdurTimes:(float)time; //有闪烁次数的动画
{
CABasicAnimation*animation=[CABasicAnimation animationWithKeyPath:@”opacity”];
animation.fromValue=[NSNumber numberWithFloat:1.0];
animation.toValue=[NSNumber numberWithFloat:0.4];
animation.repeatCount=repeatTimes;
animation.duration=time;
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
animation.autoreverses=YES;
return animation;
}
+(CABasicAnimation )moveX:(float)time X:(NSNumber )x //横向移动
{
CABasicAnimation*animation=[CABasicAnimation animationWithKeyPath:@”transform.translation.x”];
animation.toValue=x;
animation.duration=time;
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
return animation;
}
+(CABasicAnimation )moveY:(float)time Y:(NSNumber )y //纵向移动
{
CABasicAnimation*animation=[CABasicAnimation animationWithKeyPath:@”transform.translation.y”];
animation.toValue=y;
animation.duration=time;
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
return animation;
}
+(CABasicAnimation )scale:(NSNumber )Multiple orgin:(NSNumber *)orginMultiple durTimes:(float)time Rep:(float)repeatTimes //缩放
{
CABasicAnimation*animation=[CABasicAnimation animationWithKeyPath:@”transform.scale”];
animation.fromValue=orginMultiple;
animation.toValue=Multiple;
animation.duration=time;
animation.autoreverses=YES;
animation.repeatCount=repeatTimes;
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
return animation;
}
+(CAAnimationGroup )groupAnimation:(NSArray )animationAry durTimes:(float)time Rep:(float)repeatTimes //组合动画
{
CAAnimationGroup *animation=[CAAnimationGroup animation];
animation.animations=animationAry;
animation.duration=time;
animation.repeatCount=repeatTimes;
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
return animation;
}
+(CAKeyframeAnimation *)keyframeAniamtion:(CGMutablePathRef)path durTimes:(float)time Rep:(float)repeatTimes //路径动画
{
CAKeyframeAnimation*animation=[CAKeyframeAnimation animationWithKeyPath:@”position”];
animation.path=path;
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
animation.autoreverses=NO;
animation.duration=time;
animation.repeatCount=repeatTimes;
return animation;
}
+(CABasicAnimation *)movepoint:(CGPoint )point //点移动
{
CABasicAnimation*animation=[CABasicAnimation animationWithKeyPath:@”transform.translation”];
animation.toValue=[NSValue valueWithCGPoint:point];
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
return animation;
}
+(CABasicAnimation *)rotation:(float)dur degree:(float)degree direction:(int)direction repeatCount:(int)repeatCount //旋转
{
CATransform3D rotationTransform = CATransform3DMakeRotation(degree, 0, 0,direction);
CABasicAnimation* animation;
animation = [CABasicAnimation animationWithKeyPath:@”transform”];
animation.toValue= [NSValue valueWithCATransform3D:rotationTransform];
animation.duration= dur;
animation.autoreverses= NO;
animation.cumulative= YES;
animation.removedOnCompletion=NO;
animation.fillMode=kCAFillModeForwards;
animation.repeatCount= repeatCount;
animation.delegate= self;
return animation;
}
- CABasicAnimation用法
- CABasicAnimation 用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- CABasicAnimation用法
- Java中Synchronized的用法
- apk隐藏到图片中
- Git 基础
- 2015年imac一体机安装双系统问题及解决技巧
- android -- Can't create handler inside thread that has not called Looper.prepare()
- CABasicAnimation用法
- createDialog
- hive的启动
- 可以实现pdf转换成txt格式的方法
- android数据库支持的数据类型
- Linux进程和内核级进程的一些知识
- windows 命令行查找字符串 和 文件(find & findstr & for)
- GitHub最火的Android开源项目
- POJ 1056 IMMEDIATE DECODABILITY 字典树