如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
黑马程序员:IOS面试宝典之关于动画
第一篇:黑马程序员:IOS面试宝典之关于动画关于动画1.谈谈你对CoreGraphic绘图的了解?CoreGraphics也称为Quartz2D是UIKit下的主要绘图系统,频繁的用于绘制自定义视图。CoreGraphics是高度集成于UIView和其他UIKit部分的。CoreGraphics数据结构和函数可以通过前缀CG来识别。视图可以通过子视图、图层或实现drawRect:方法来表现内容,如果说实现了drawRect:方法,那么最好就不要混用其他方法了,如图层和子视图。自定义绘图大部分是由UIKit或者CoreGraphics来实现的。2D绘图一般可以拆分成以下几个操作:线条,路径,文本,图片,渐变由于像素是依赖于目标的,所以2D绘图并不能操作单独的像素,我们可以从上下文(Context)读取它。绘图就好比在画布上拿着画笔机械的进行画画,通过制定不同的参数来进行不同的绘制。http:///articles/jIJzMfhttp://blog.csdn.net/mangosnow/article/details/370547652.CoreAnimation(核心动画)?CoreAnimation也就是核心动画,是一组非常强大的动画处理API,可以使用少量的代码做出绚丽的效果,是直接作用在CALayer上的,并非UIView,并且CoreAnimation的动画执行过程都是在后台操作,不会阻塞主线程.所有动画都是作用在CALayer上的,当把动画添加到Layer上,是不直接修改它的属性,CoreAnimation维护了两个平行layer的层次结构,模型层树可以看到Layer的状态,表示层树则是动画正在表现的值的近似.CoreAnimation的使用步骤:1>使用它需要先添加QuartzCore.framework框架和引入主头文件(iOS7.0+不需要)2>.初始化一个CAAnimation对象,并设置一些动画相关属性3>.通过调用CALayer的addAnimation:forKey:方法增加CAAnimation对象到CALayer中,这样就能开始执行动画了4>.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer中的动画1.转场动画?CATransition-转场动画,作为CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比MacOSX的转场动画效果少一点.UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果.如下是转场动画的过渡效果:使用UIView的动画函数,实现转场动画1>单视图:+(void)transitionWithView:(UIView*)viewduration:(NSTimeInterval)durationoptions:(UIViewAnimationOptions)optionsanimations:(void(^)(void))animationscompletion:(void(^)(BOOLfinished))completion;参数说明:duration:动画的持续时间view:需要进行转场动画的视图options:转场动画的类型animations:将改变视图属性的代码放在这个block中completion:动画结束后,会自动调用这个block2>双视图:+(void)transitionFromView:(UIView*)fromViewtoView:(UIView*)toViewduration:(NSTimeInterval)durationoptions:(UIViewAnimationOptions)optionsfinished))completion;参数说明:duration:动画的持续时间options:转场动画的类型animations:将改变视图属性的代码放在这个block中completion:动画结束后,会自动调用这个blockcompletion:(void(^)(BOOL2.一个动画怎么实现?以转场动画为例:1>创建CATransition对象CATransition*animation=[CATransitionanimation];2>设置运动时间(即动画时间)animation.duration=DURATION;3>设置运动type(类型)animation.type=type;if(subtype!=nil){4>设置子类(和type配合使用,指定运动的方向)animation.subtype=subtype;}5>设置运动速度(动画的运动轨迹,用于变化
猫巷****傲柏
实名认证
内容提供者
最近下载