2012-05-19 13 views
5

Tengo dos UIViews en mi controlador de vista. Quería cambiar entre las dos vistas en el toque del usuario. Todo está bien, excepto la animación probé dos métodos, primero fue:Animación de volteo entre dos UIViews en un UIViewController

[UIView transitionFromView:frontView toView:backView 
duration:01.0 options:UIViewAnimationOptionTransitionFlipFromRight 
completion:NULL]; 

Esta fue la animación de la vista, pero en realidad la animación de vista de todo el controlador de vista, mientras que quería sólo la parte donde mis puntos de vista son, que es aproximadamente 320x200 en el centro de la pantalla.

Luego probé la otra opción, que es:

[UIView animateWithDuration:1.0 delay:0.0 
      options:UIViewAnimationOptionTransitionFlipFromRight 
      animations:^{ 
     [frontView removeFromSuperview]; 
     [self.view addSubview:backView]; 
    } completion:nil]; 

pero esto no es la animación de las vistas en absoluto. Simplemente cambiando las vistas al instante sin ninguna animación. ¿Puede alguien ayudarme a comprender dónde estoy equivocado o necesito cambiar? Muchas gracias por su tiempo y consideración.

+0

try [this] (http://stackoverflow.com/questions/5703742/iphone-flip-animation-using-uiviewanimationtransitionflipfromleft-in-landscape-m) El enlace podría ayudarlo o intentar aumentar la duración a 2 segundos –

Respuesta

4

Un rato después de que publiqué mi pregunta me encontré con una gran respuesta para esta consulta, que ustedes pueden mirar:

How to flip an individual UIView (without flipping the parent view)

El truco es usar tercer UIView como vista recipiente y luego añadir los puntos de vista, que necesita ser animado, como subvistas en él. Eso hace el truco en mi caso. Recuerde que estoy usando el primer método que mencioné en mi pregunta. Gracias a todos por su tiempo.

Cuestiones relacionadas