欢迎来到天天文库
浏览记录
ID:60849596
大小:336.50 KB
页数:11页
时间:2020-12-23
《Ios动画核心教学内容.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、…………………………………………………………最新精品资料推荐……………………………………………………iOS开发UI篇—核心动画(基础动画)一、简单介绍CAPropertyAnimation的子类属性解析:fromValue:keyPath相应属性的初始值toValue:keyPath相应属性的结束值随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue如果fillMode=kCAFillModeForwards和removed
2、OnComletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态。但在实质上,图层的属性值还是动画执行前的初始值,并没有真正被改变。比如,CALayer的position初始值为(0,0),CABasicAnimation的fromValue为(10,10),toValue为(100,100),虽然动画执行完毕后图层保持在(100,100)这个位置,实质上图层的position还是为(0,0) 二、平移动画代码示例:1//2//YYViewController.m3//07-核
3、心动画(基础动画)4//5//Createdbyappleon14-6-21.6//Copyright(c)2014年itcase.Allrightsreserved.7//89#import"YYViewController.h"1011@interfaceYYViewController()12@property(nonatomic,strong)CALayer*myLayer;13@end1415@implementationYYViewController1617-(void)viewD
4、idLoad18{19[superviewDidLoad];20…………………………………………………………最新精品资料推荐……………………………………………………11…………………………………………………………最新精品资料推荐……………………………………………………21//创建layer22CALayer*myLayer=[CALayerlayer];23//设置layer的属性24myLayer.bounds=CGRectMake(0,0,50,80);25myLayer.backgroun
5、dColor=[UIColoryellowColor].CGColor;26myLayer.position=CGPointMake(50,50);27myLayer.anchorPoint=CGPointMake(0,0);28myLayer.cornerRadius=20;29//添加layer30[self.view.layeraddSublayer:myLayer];31self.myLayer=myLayer;32}3334//设置动画(基础动画)35-(void)touchesBeg
6、an:(NSSet*)toucheswithEvent:(UIEvent*)event36{37//1.创建核心动画38//CABasicAnimation*anima=[CABasicAnimationanimationWithKeyPath:<#(NSString*)#>]39CABasicAnimation*anima=[CABasicAnimationanimation];4041//1.1告诉系统要执行什么样的动画42anima.keyPath=@"position";43//设置通过
7、动画,将layer从哪儿移动到哪儿44anima.fromValue=[NSValuevalueWithCGPoint:CGPointMake(0,0)];45anima.toValue=[NSValuevalueWithCGPoint:CGPointMake(200,300)];4647//1.2设置动画执行完毕之后不删除动画48anima.removedOnCompletion=NO;49//1.3设置保存动画的最新状态50anima.fillMode=kCAFillModeForwards
8、;5152//2.添加核心动画到layer53[self.myLayeraddAnimation:animaforKey:nil];5455} @end代码说明: 第42行设置的keyPath是@"position",说明要修改的是CALayer的position属性,也就是会执行平移动画 第44,45行,这里的属性接收的时id类型的参数,因此并不能直接使用CGPoint这种结构体类型,而是要先包装成NSValue对象后再使用。…………………………………………………………最新精品资料推荐……
此文档下载收益归作者所有