Wie MSN sagte, werden sie in unterschiedlichen Fällen verwendet. CGAffineTransform wird für die 2D-Manipulation von NSViews, UIViews und anderen 2D-Kerngrafikelementen verwendet.
CATransform3D ist eine Core Animation-Struktur, die komplexere 3D-Manipulationen von CALayern durchführen kann. CATransform3D hat die gleiche interne Struktur wie eine OpenGL-Modell-View-Matrix, was Sinn macht, wenn man weiß, dass Core Animation auf OpenGL aufbaut (CALayers sind Wrapper für OpenGL-Texturen usw.). Ich habe festgestellt, dass diese Ähnlichkeit der internen Struktur, kombiniert mit einigen netten Hilfsfunktionen, die Apple bietet, können Sie einige ordentliche OpenGL-Optimierungen zu tun, wie ich post aquí .
Wenn Sie sich entscheiden müssen, welche Methode Sie verwenden wollen, fragen Sie sich, ob Sie mit Ansichten direkt in einem 2D-Raum (CGAffineTransform) oder mit den zugrunde liegenden Core Animation-Ebenen in 3D (CATransform3D) arbeiten wollen. Ich verwende CATransform3D häufiger, aber das liegt daran, dass ich sehr viel Zeit mit Core Animation verbringe.