What are Layers good for? What could I do with adding an Layer, and why should I think about Layers?

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-03 03:55:31

Compared to UIVIews, CALayers are

  • lightweight
  • filled with timing information for animation
  • Some things are harder to draw, like text (esp. unicode).

If you have less than 20 or so of them, it probably doesn't matter. If you have complicated animation needs, or just a ton of layers to draw, you may benefit from using CALayers instead.

On the iPhone, there's not a significant performance difference between using UIViews and CALayers, in my experience. The Mac is a different story, with NSViews being significantly more heavyweight.

Dealing with CALayers (or at least a view's layer backing) is sometimes necessary for complex animations, particularly keyframe animations or movement along paths.

Additionally, CALayers can be used to create platform-independent (Mac and iPhone) custom user interfaces. UIViews are very different from NSViews, but CALayers are identical between the iPhone and Mac OS X Leopard (aside from a few properties that are missing on the iPhone). I've used CALayers to share UI code between an iPhone application and its Mac counterpart.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!