【发布时间】:2009-05-25 12:41:06
【问题描述】:
我有 12 个视图,当通过触摸图标几秒钟进入主屏幕自定义模式时,我旋转的视图几乎与主屏幕中的图标相似。
我使用 3D 转换代码进行旋转。它们每个的持续时间仅为 0.02 秒,并且旋转角度和方向会根据加速度测量值永久改变。
其中 5 个视图很好,但 12 个视图的性能很差。这是轮换代码:
CATransform3D rotatedTransform = CATransform3DRotate(CATransform3DIdentity, degrees * M_PI / 180.0, 0.0f, 0.0f, 1.0f);
self.layer.transform = rotatedTransform;
周围有一些核心动画。但是我在这里看到了 CPU 的浪费,因为我不做任何 3D 的东西。我真的只旋转二维而不是别的。它们是简单的 UIImageViews,但是是一个自定义类,可以自己执行此旋转动画。
我听说有“仿射”变换应该适用于 2D 空间。在这种情况下,您会建议将其更改为 2D 吗?
我必须更喜欢更改图层或视图的变换吗?哪个更快?
【问题讨论】:
标签: iphone cocoa-touch uikit core-animation transform