2011-09-06 1 views
3
UIImageView * frontImageView = [[UIImageView alloc] initWithImage:[UIImage 
                    imageNamed:@"view.png"]]; 

UIView * containerView = [[UIView alloc] initWithFrame:frontImageView.bounds]; 
containerView.center = self.view.center; 

[self.view addSubview:containerView]; 
[containerView addSubview:frontImageView]; 

UIImageView * backImageView = [[UIImageView alloc] initWithImage:[UIImage 
                    imageNamed:@"view.png"]]; 
backImageView.center = frontImageView.center; 
[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1.0]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft 
         forView:containerView 
         cache:YES]; 
[frontImageView removeFromSuperview]; 
[containerView addSubview:backImageView]; 
[UIView commitAnimations]; 

Je veux retourner le containerView, mais cela ne fonctionne pas.Comment faire pour FlipFromLeft?

Répondre

2

This est un article similaire sur le même problème. @ Jason Harwig suggère que vous essayez:

Essayez d'utiliser self.view.superview dans la vue de la transition d'animation du showMoreInfo:

EDIT: En regardant another post, il semble que l'ajout du sous-vue AVANT valider les animations est le problème. Pourquoi n'essaies-tu pas ça?

Espérons que ça aide!

+0

désolé, je ne veux pas le superview, je veux juste retourner le containerView –

+0

Merci, juste ce problème. merci beaucoup –

+0

Pas de problème! Heureux d'avoir pu aider! – msgambel

0

DonT utiliser

[frontImageView removeFromSuperview];

dans cette fonction. Ce qui se passe avant les animations, votre vue est supprimée de superview. Par conséquent, pas d'animation. Au lieu de cela, utilisez ceci.

[UIView setAnimationDidStopSelector:@selector(removeImageView)]; 

et faire une autre méthode,

-(void) removeImageView 
{ 
     if([yourImageView superview]) 
      [yourImageView removeFromSuperview]; 
} 
+0

[containerView sendSubviewToBack: frontImageView]; J'essaye juste comme ceci, mais il n'y avait aucune animation: –

0

de properly.You cadre de Set containerView ont mis à frontImageView.bounds qui ne va pas.

+0

Cher Hitesh, je le change, mais ne m'aide pas. –