Transformaciones simples de Core 3D Transformaciones de UIView

Estoy tratando de hacer una animation simple en parte con CAP, pero tuve problemas con la perspectiva. Lo intenté con:

[UIView animateWithDuration:1.0 animations:^{ self.someView.layer.anchorPoint = CGPointMake(0.5, 0); self.someView.layer.transform = CATransform3DMakeRotation(M_PI*0.6,1.0,0.0,0.0); } completion:^(BOOL finished){ // code to be executed when flip is completed }]; 

¿Cómo get esta bonita perspectiva?

introduzca la descripción de la imagen aquí

Algo como esto haría:

 CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity; rotationAndPerspectiveTransform.m34 = 1.0 / -1000.0; rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, M_PI * 0.6, 1.0f, 0.0f, 0.0f); [UIView animateWithDuration:1.0 animations:^{ self.someView.layer.anchorPoint = CGPointMake(0.5, 0); self.someView.layer.transform = rotationAndPerspectiveTransform; } completion:^(BOOL finished){ // code to be executed when flip is completed }]; 

¿Cómo aplico una transformación de perspectiva a una UIView?

Ver la respuesta en cuestión.

Básicamente, modifica m34 de la matriz que controla cuánto se contraen los objects en el background.

Si tiene más curiosidad, consulte: http://www.songho.ca/opengl/gl_projectionmatrix.html