关于iOS 动画(CAkeyframeanimation 和uiview animation)的一个疑问

herokingsley 发布于 2013年12月12日
无人欣赏。

请问cakeyframeanimation 与 UIVIEW里的 animateWithDuration的 差异在哪里呢?

感觉后面的比较轻量级也比较好用的样子?

前者是属于core animation的东西,对这两者的学习应该怎样选择以及侧重呢?

iOS初学者,请各位多多指教。

共3条回复
hikui 回复于 2013年12月12日

简单的动画用UIView就行了,复杂的动画再用CoreAnimation。不过有些简单的动画好像也得用CAKeyFrameAnimation,比如让一张图rotate 2 pi的动画,用最直白的思路做UIView的动画可能是不对的。

nickel 回复于 2013年12月12日

UIVIEW里的animation支持相当于是把几个Apple认为常用和常见的动画过渡效果做了高层封装,如果你的界面不需要太特殊的效果,那就直接不用关心到Layer那层的东西,用view就搞定了。Core Animation就是提供一整套完善的动画过渡api给你,你想怎么搞就怎么搞。Key Frame Ani其实与Basic Ani差别很容易理解,Basic的只有起始和结束两个状态,你定义了起始和结束状态就决定了动画的呈现方式。但Key Frame意思就是除了起始和结束两个状态外,在过程中你还可以设置1个或以上的中间节点状态,用来控制动画不是“线性”的进行。

举个简单的例子,如果要把一个方形变成圆形,没有特殊要求的话你只是定义两个状态,起始状态是方形,结束状态是圆形,中间过程就有内置算法来控制。但是如果你希望方形先变成三角形再变成六边形最后变成圆形,那么你就得用Key frame在过程中加两个状态。

herokingsley 回复于 2013年12月13日

好~谢谢二位耐心解答~

登录 或者 注册