J'essaie donc de créer un effet de retournement des tuiles, comme sur Windows Phone 7.
Jusqu'à présent, j'ai le code suivant, mais j'ai quelques questions à poser.
CALayer *layer = self.theRedSquare.layer;
CATransform3D initialTransform = self.theRedSquare.layer.transform;
initialTransform.m34 = 1.0 / -1000;
[UIView beginAnimations:@"Scale" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
layer.transform = initialTransform;
layer.anchorPoint = CGPointMake(-0.3, 0.5);
CATransform3D rotationAndPerspectiveTransform = self.theRedSquare.layer.transform;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, M_PI , 0 , -self.theRedSquare.bounds.size.height/2, 0);
layer.transform = rotationAndPerspectiveTransform;
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
1. Comment se fait-il que mon carré rouge (une vue simple de l'interface utilisateur) se déplace vers la droite au début de l'animation ?
2. Pour le point d'ancrage, est-il possible de définir une position sur la vue parentale ? Pour l'instant, je le fixe arbitrairement par rapport à la vue courante.
Merci d'avance pour tout conseil.
Avant l'animation
Pendant l'animation (remarquez que le carré s'est déplacé vers la droite)
Après l'animation (remarquez que le carré s'est déplacé vers la droite)
Vidéo ajoutée : exemple de vidéo