Voglio ruotare un livello con un'immagine nell'angolo in alto a sinistra e non al centro. Secondo i documenti ho impostato la proprietà anchorPoint
su [0, 1]. La vista ruota nel mio esempio di 50 °, ma prima che inizi ad animare, la vista passa ad un altro punto sullo schermo.Come ruotare un livello in un punto di ancoraggio specifico senza saltare?
self.shakeTag.layer.anchorPoint = CGPointMake(0.0f, 1.0f);
[UIView beginAnimations:@"rotate" context:nil];
[self.shakeTag.layer setTransform:
CATransform3DRotate(CATransform3DIdentity,
radians(50.0), 0.0f, 0.0f, 1.0f)];
[UIView commitAnimations];
radians()
è definito così:
static inline double radians (double degrees) {return degrees * M_PI/180;}
Quando uso un'immagine che è 4 volte la dimensione e ha un sacco di pixel trasparenti, che può ruotare in corrispondenza del punto di ancoraggio predefinito [0.5 , 0.5], ma non voglio sprecare lo spazio per i pixel invisibili. Qualche idea su come posso evitare che il livello salti prima che avvenga la rotazione?
Se pensate che la risposta è corretta, sarebbe fantastico se accetti. – Krumelur
è necessario vedere la mia risposta qui: http://stackoverflow.com/a/22188420/550393 – 2cupsOfTech