两者有什么区别?
我确信他们各有利弊,并且在不同的情况下表现更好。
有比较两者的资源吗?
对于动画来说,有更好的选择吗(我想是 CATransform3D)?为什么?
此外,我想我在某处读到文本清晰度可能是一个问题,缩放文本是否更好?
最佳答案
正如MSN所说,它们用于不同的情况。 CGAffineTransform 用于 NSView、UIView 和其他 2-D Core Graphics 元素的 2-D 操作。
CATransform3D 是一个核心动画结构,可以对 CALayers 进行更复杂的 3D 操作。 CATransform3D 具有与 OpenGL 模型 View 矩阵相同的内部结构,当您意识到核心动画是基于 OpenGL 构建时(CALayers 是 OpenGL 纹理的包装器等),这是有意义的。我发现这种内部结构的相似性,再加上 Apple 提供的一些不错的辅助函数,可以让您进行一些简洁的 OpenGL 优化,正如我发布的 here 所示。 .
当涉及到选择使用哪个时,问问自己是否要直接在 2D 空间中使用 View (CGAffineTransform),还是在 3D 空间中使用底层核心动画层 (CATransform3D)。我更频繁地使用 CATransform3D,但那是因为我花了很多时间使用 Core Animation。
关于iphone - CATransform3D 与 CGAffineTransform?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/567829/