iOS学习笔记(10)上 CABasicAnimation类使用
来源:互联网 发布:java调用db2存储过程 编辑:程序博客网 时间:2024/05/19 23:54
CABasicAnimation类的使用方式就是基本的关键帧动画。
所谓关键帧动画,就是将Layer的属性作为KeyPath来注册,指定动画的起始帧和结束帧,然后自动计算和实现中间的过渡动画的一种动画方式。
1.CABaseAnimation通过制定 animationWithKeyPath:@“position”
值来实例话
//指定position属性
animationWithKeyPath的一些值:
transform.rotation.x =旋转x轴
transform.rotation.y =旋转y轴
transform.rotation.z =平面圖的转换
transform.rotation旋转角度
transform.scale = 比例转换
transform.scale.x =宽的比例转换
transform.scale.y =高的比例转化
transform.scale.z
transform.translation.x
transform.translation.y
transform.translation.z
transform.translation
CABasicAnimation * shakeAnimation = [CABasicAnimationanimationWithKeyPath:@"transform.rotation.z"];
shakeAnimation.duration=duration;//动画持续时间
shakeAnimation.fromValue=[NSNumbernumberWithFloat:-raid];//设定动画开始帧值
shakeAnimation.toValue=[NSNumbernumberWithFloat:raid];//设定动画结束帧值
===========================================================================
//还可以这样设设定动画起始帧和结束帧
animation.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, 0)];// 起始点
animation.toValue = [NSValue valueWithCGPoint:CGPointMake(320, 480)];// 终了点
========================================================================
shakeAnimation.autoreverses=YES;//结束后是否执行逆动画
shakeAnimation.removedOnCompletion=NO;//动画接收后不返回初始状态
shakeAnimation.fillMode=kCAFillModeForwards;
if(count==0)
{
shakeAnimation.repeatCount=FLT_MAX;//重复次数设置为最大
}else
{
shakeAnimation.repeatCount=count;
}
//添加给视图 layer用于设置动画,修改视图圆角等。
[self.layeraddAnimation:shakeAnimation forKey:@"Let me shake"];//给动画指定任意名字
=============================================
[self .layerremoveAnimationForKey:@"Let me shake"];//移除动画指定的动画
移动动画
移动动画的代码如下:
/* 移动 */
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
// 动画选项的设定
animation.duration = 2.5; // 持续时间
animation.repeatCount = 1; // 重复次数
// 起始帧和终了帧的设定
animation.fromValue = [NSValue valueWithCGPoint:myView.layer.position]; //起始帧
animation.toValue = [NSValue valueWithCGPoint:CGPointMake(320, 480)]; //终了帧
// 添加动画
[myView.layer addAnimation:animation forKey:@"move-layer"];
旋转动画
旋转动画的代码如下:
/* 旋转 */
// 对Y轴进行旋转(指定Z轴的话,就和UIView的动画一样绕中心旋转)
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
// 设定动画选项
animation.duration = 2.5; // 持续时间
animation.repeatCount = 1; // 重复次数
// 设定选装角度
animation.fromValue = [NSNumber numberWithFloat:0.0]; //起始角度
animation.toValue = [NSNumber numberWithFloat:2 * M_PI]; //终止角度
// 添加动画
[myView.layer addAnimation:animation forKey:@"rotate-layer"];
缩放动画
缩放动画的代码如下:
/* 放大缩小 */
// 设定为缩放
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
// 动画选项设定
animation.duration = 2.5; // 动画持续时间
animation.repeatCount = 1; // 重复次数
animation.autoreverses = YES; // 动画结束时执行逆动画
// 缩放倍数
animation.fromValue = [NSNumber numberWithFloat:1.0]; //开始时的倍率
animation.toValue = [NSNumber numberWithFloat:2.0]; //结束时的倍率
// 添加动画
[myView.layer addAnimation:animation forKey:@"scale-layer"];
组合动画
使用CAAnimationGroup类进行复数动画的组合。代码如下:
/* 动画1(在X轴方向移动) */
CABasicAnimation *animation1 =
[CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
// 终点设定
animation1.toValue = [NSNumber numberWithFloat:80];; //終点
/* 动画2(绕Z轴中心旋转) */
CABasicAnimation *animation2 =
[CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
// 设定旋转角度
animation2.fromValue = [NSNumber numberWithFloat:0.0]; //开始时的角度
animation2.toValue = [NSNumber numberWithFloat:4 * M_PI]; //结束时的角度
/* 动画组 */
CAAnimationGroup *group = [CAAnimationGroup animation];
// 动画选项设定
group.duration = 3.0;
group.repeatCount = 1;
// 添加动画
group.animations = [NSArray arrayWithObjects:animation1, animation2, nil];
[myView.layer addAnimation:group forKey:@"move-rotate-layer"];
- iOS学习笔记(10)上 CABasicAnimation类使用
- iOS学习之CABasicAnimation
- iOS - CABasicAnimation使用总结
- iOS学习笔记-076.核心动画02——CABasicAnimation(基本动画)
- ios动画笔记(1)CABasicAnimation和CAKeyframeAnimation
- iOS学习笔记(2)——CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)
- iOS CABasicAnimation
- iOS CABasicAnimation
- iOS : CABasicAnimation
- iOS 使用UIBezierPath与CABasicAnimation绘制图形
- Core Animation学习笔记二:CABasicAnimation
- CABasicAnimation 使用
- iOS-核心动画(二)CABasicAnimation
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境
- Introduction to SQL
- iOS学习笔记 (9) UITabBarController分栏控制器
- 3、pwd命令
- Map存储 (key, value)
- Java面向对象(二)
- iOS学习笔记(10)上 CABasicAnimation类使用
- R语言文本挖掘之jieba分词与wordcloud展现
- poj 2965 The Pilots Brothers' refrigerator 高斯消元法 暑假第二题
- 我所见过的最简短、最灵活的javascript日期转字符串工具函数
- iOS学习笔记(10下)六种手势
- 机器视觉、模式识别库集合
- C++之探索多态的本质(虚函数与虚表)2
- 从ACM中删除一个已经创建的Library
- oracle数据库优化