2011-01-02 27 views

risposta

34

Il primo è l'angolo in radianti altri 3 parametri sono l'asse (x, y, z). Così, per esempio, se si desidera ruotare di 180 gradi intorno all'asse z basta chiamare la funzione in questo modo:

myView.layer.transform = CATransform3DMakeRotation(M_PI, 0.0, 0.0, 1.0); 

e applicare il risultato alla proprietà transform della vista che si desidera ruotare.

+1

Vedi anche il Core Animation funzione di riferimento per la definizione della funzione: http://developer.apple.com/library/mac/documentation /Cocoa/Reference/CoreAnimation_functions/Reference/reference.html#//apple_ref/c/func/CATransform3DMakeRotation –

+0

modo sostanzialmente sufficiente impostare l'angolo e mettere 1,0 sulla x, y, o, z che voglio utilizzare? è sempre 1.0? –

+3

@Dan - No, non è sempre 1.0 per gli assi. Le componenti X, Y e Z definiscono un asse attorno al quale avviene la rotazione. Impostando 1.0 per un componente e lasciando l'altro a 0.0, si definisce una rotazione attorno all'asse X, Y o Z, ma è possibile ruotare su qualsiasi direzione arbitraria. Ciò ti consente di manipolare viste e livelli in un modo veramente 3D. –

3

Essi rappresentano l'asse intorno al quale si desidera ruotare. Usa 0,0,1 per ruotare nel piano dello schermo.

5

Probabilmente troverete questi utile quando si utilizza radianti:

CGFloat DegreesToRadians(CGFloat degrees) 
{ 
    return degrees * M_PI/180; 
}; 

CGFloat RadiansToDegrees(CGFloat radians) 
{ 
    return radians * 180/M_PI; 
};