假设我要在 View 中添加50张图像以使其具有动画效果。并假设我正在计划使用Core Animation(例如CABasicAnimation),而不是“UIView”动画。

我最好通过添加50个 subview 或50个子层来实现这一点吗?这有什么不同吗?

谢谢。

最佳答案

当我描述here时,我在动画中同时使用了UIViews和CALayers,发现它们之间的性能差异可忽略不计。 UIViews是围绕层的非常轻量级的包装器。而且,您需要的任何基于图层的动画都可以轻松地应用于UIView的后备层。

在需要创建跨平台(Mac/iOS)UI元素的情况下,我直接使用了CALayers,因为CALayers在两个平台上的实现几乎相同(不同于明显不同的NSViews和UIViews)。 CALayers没有开箱即用的任何触摸处理例程,但是您可以根据需要添加该功能。

在某些边缘情况下,您可能希望直接使用图层,例如,尝试对图层进行有限的3D操作(如CoverFlow效果)或使用CAReplicatorLayer产生粒子效果时。

关于iOS:我应该为动画添加UIViews或CALayers吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4686873/

10-09 02:19