iphone - CATransform3D 与 CGAffineTransform?

标签 iphone cocoa cocoa-touch core-animation core-graphics

两者有什么区别?

我确信他们各有利弊,并且在不同的情况下表现更好。

有比较两者的资源吗?

对于动画来说,有更好的选择吗(我想是 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/

相关文章:

javascript - 移动设备最准确的 GPS 位置

iphone - 当方向改变时, View 中何时重新加载资源?

iphone - 用户在app purchase中重新购买时,paymentQueue::updatedTransactions应该被iOS调用?

jquery - iPhone 故障,将 div 完美地移动到上面的 div

当前设备的启动图像的 IOS UIImage

objective-c - 从 NSColor 创建 NSImage

cocoa - CoreData 防止删除默认值

ios - 输入 2 个字符后从 UITextfield 移动焦点

ios - 即时更改 UIPopoverController

cocoa-touch - 为什么我的 UIButton 不响应触摸?