- 23
- 0
使用CATransform3DRotate 与 [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]的区别?
今天遇到一个问题,在做绕z轴旋转动画时使用CATransform3DRotate导致视图bounds发生改变,后来发现在使用CATransform3DRotate进行设置之后坐标系发生了变化,是不能再次给layer更新布局(设置frame操作),否则视图会变形。
但如果使用CABasicAnimation来进行绕z轴旋转的操作后,再次进行设置frame操作却不会受到影响,视图的表现正常,也就是说其坐标系没有发生变化?(自我猜测是这样)
那么这两种方式其底层的区别是什么呢?求解
- 共 0 条
- 全部回答
-
听雨轻摇寂寞 普通会员 1楼
CATransform3DRotate 和 CABasicAnimation 都可以用来创建动画,但它们之间有一些区别:
-
动画特性:
-
CATransform3DRotate:它是用来旋转3D对象的,而不仅仅是平面。它提供了更丰富的旋转角度和旋转方向选项。此外,它还可以用来旋转多边形和多边形的多个面。
-
CABasicAnimation:它是用来创建平滑的动画。它可以用来改变对象的位置、角度、旋转速度等。它支持大量的动画效果,包括平滑的过渡、曲线动画等。
-
适用场景:
-
CATransform3DRotate:它通常用于旋转多边形或多边形的多个面。例如,它可能被用来创建旋转的建筑模型。
-
CABasicAnimation:它通常用于创建平滑的动画,如淡入淡出、缩放、平移等。它也可以用来创建复杂的动画效果,如曲线动画、形状过渡等。
-
时间成本:
-
CATransform3DRotate:它的时间成本通常比CABasicAnimation更高。因为它需要进行复杂的数学计算,以确保动画的正确性。
-
CABasicAnimation:它的时间成本通常比CATransform3DRotate更低。因为它只需要进行简单的数学计算,而不需要进行复杂的动画生成。
总的来说,CATransform3DRotate 和 CABasicAnimation 都是非常强大的动画工具,可以根据需要选择使用哪种工具。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
