UI 动画之CALayer+CAAnimation 之 CAKeyframeAnimation
2015-10-06 21:21
656 查看
#pragma mark 关键帧动画 CAKeyframeAnimation ---按着路径走
//keyPath需要强打
并且是固定对应的。
CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimation
animationWithKeyPath:@"position"];
//第一步:准备路径
CGPoint point_first =
CGPointMake(100,
200);
CGPoint point_second =
CGPointMake(200,
100);
CGPoint point_third =
CGPointMake(300,
200);
CGPoint point_fourth =
CGPointMake(100,
100);
CGPoint point_fifth =
CGPointMake(200,
200);
CGPoint point_sixth =
CGPointMake(300,
100);
//第二步:将结构体转换成对象类型,用于存放到数组中作为关键帧
NSValue *value_first = [NSValue
valueWithCGPoint:point_first];
NSValue *value_second = [NSValue
valueWithCGPoint:point_second];
NSValue *value_third = [NSValue
valueWithCGPoint:point_third];
NSValue *value_fourth = [NSValue
valueWithCGPoint:point_fourth];
NSValue *value_fifth = [NSValue
valueWithCGPoint:point_fifth];
NSValue *value_sixth = [NSValue
valueWithCGPoint:point_sixth];
//第三步:把路径对象存放在数组中
keyFrameAnimation.values =
@[value_first,value_second,value_third,value_fourth,value_fifth,value_sixth];
//第四步:设置动画间隔
keyFrameAnimation.duration =
4;
//第五步:关键一步,把动画添加到layer层
[_customLabel1.layer
addAnimation:keyFrameAnimation
forKey:@"keyFrame"];
//keyPath需要强打
并且是固定对应的。
CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimation
animationWithKeyPath:@"position"];
//第一步:准备路径
CGPoint point_first =
CGPointMake(100,
200);
CGPoint point_second =
CGPointMake(200,
100);
CGPoint point_third =
CGPointMake(300,
200);
CGPoint point_fourth =
CGPointMake(100,
100);
CGPoint point_fifth =
CGPointMake(200,
200);
CGPoint point_sixth =
CGPointMake(300,
100);
//第二步:将结构体转换成对象类型,用于存放到数组中作为关键帧
NSValue *value_first = [NSValue
valueWithCGPoint:point_first];
NSValue *value_second = [NSValue
valueWithCGPoint:point_second];
NSValue *value_third = [NSValue
valueWithCGPoint:point_third];
NSValue *value_fourth = [NSValue
valueWithCGPoint:point_fourth];
NSValue *value_fifth = [NSValue
valueWithCGPoint:point_fifth];
NSValue *value_sixth = [NSValue
valueWithCGPoint:point_sixth];
//第三步:把路径对象存放在数组中
keyFrameAnimation.values =
@[value_first,value_second,value_third,value_fourth,value_fifth,value_sixth];
//第四步:设置动画间隔
keyFrameAnimation.duration =
4;
//第五步:关键一步,把动画添加到layer层
[_customLabel1.layer
addAnimation:keyFrameAnimation
forKey:@"keyFrame"];
相关文章推荐
- 设计模式之ChainOfResponsibility:过滤Request和Response
- UI_数据处理(model)
- Notepad++配合QuickText打造快速高效的文本编辑器
- UI 动画之CALayer+CAAnimation 之 CABasicAnimation
- [232]Implement Queue using Stacks
- 关于UICollectionView在MRC下的纯代码实现之一(在UIViewController中实现)
- 条款20:在传递对象的时候尽量用reference-to-constent来代替,pass-by-value
- 解决UIGestureRecognizer手势与视图上其他滑动视图的冲突
- 为何加入:private static final long serialVersionUID
- UI_UITableView编辑
- UI 动画之UIView动画 实现两个页面之间的切换
- IOS开发UI进阶之UITableView四
- TrueType和Bitmap字体的区别
- TrueType和Bitmap字体的区别
- TrueType和Bitmap字体的区别
- UIView与CALayer
- UI 动画之UIView动画的 四种 使用含有block的类方法 实现动画
- UI 动画之反射变换的旋转
- TrueType字体的后缀名解释
- TrueType字体的后缀名解释