首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们什么时候应该使用CATransformLayer?

我们什么时候应该使用CATransformLayer?
EN

Stack Overflow用户
提问于 2014-02-10 07:45:12
回答 2查看 2.3K关注 0票数 7

我已经阅读了文档和几个示例,但仍然无法理解何时确切地使用CATransformLayer。一个普通的CALayerz = 0平面上将所有东西都压平了,但是CATransformLayer不也是这样做的吗?数学上的解释会很有帮助。

EN

回答 2

Stack Overflow用户

发布于 2014-02-10 08:44:46

要充分理解CALayer和CATransformLayer之间的区别,您应该阅读这个文章

这是解释如何使用CATransformLayer的最好的教程。

但简单地说,

考虑一个场景(CAlayer instance),我们在相同的X,Y坐标上创建4个平面,但使用不同的Z,并将其作为subLayers添加到scene.And中,以某种角度旋转场景。

所以,我们可能会认为,

但是看起来,

这是因为CALayer无法管理3D层次结构的深度,它只是将场景夷为平地为单一的Z级。为了纠正深度问题,我们使用CATransformLayer,它具有深度理解和基于它的呈现。

注意事项:图片摘自本文。

票数 13
EN

Stack Overflow用户

发布于 2014-02-10 08:40:08

CATransformLayer用于在3D中转换其子层,而不是将其压平。

与普通层不同的是,转换层不将其子层投影(即扁平)到Z=0的平面中。

如果您想对一组层一起进行转换,您可以使用它,但是您不想单独对每个层进行转换,因为您希望在一个place...kind中更改转换的灵活性,就像OpenGL中的照相机/世界/模型转换一样。

尽管如此,我从来没有机会使用一个,因为我从来没有尝试做真正的3D在LayerKit。我猜想几年前在WWDC上使用了一个堆叠演示程序,可能会有这样的示例代码。

如果我发现自己现在开始使用CATransformLayer,我会切换到SceneKit,但这还没有在iOS上。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21671551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档