2010-07-04 9 views
5

Bonjour, J'écris une application dans xcode 3.2.3. Tout ce que je veux faire est de passer à une autre vue, mais je ne suis pas sûr de la meilleure façon de le faire. Je peux le faire ou l'autre de ces 2 façons ...PresentModalViewController ou addsubview?

PreferencesViewController *screen = [[PreferencesViewController alloc]initWithNibName:nil bundle:nil]; 

screen.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 

[self presentModalViewController:screen animated:YES]; 

[screen release]; 

ou en utilisant ...

PreferencesViewController *screen = [[PreferencesViewController alloc]initWithNibName:nil bundle:nil]; 

[UIView beginAnimations:nil context:NULL]; 

[UIView setAnimationDuration:1.0]; 

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES]; 

[self.view addSubview:screen.view]; 

[UIView commitAnimations]; 

J'ai quelques problèmes avec ces deux méthodes. Si j'utilise presentModalViewController et que je simule un avertissement de mémoire dans le PreferencesViewController, mon application se bloque. Ce n'est pas le cas avec la seconde méthode. La deuxième méthode rend toutefois mes boutons étranges pendant l'animation de retournement.

Quelqu'un peut-il me dire ce qui ne va pas et/ou me conseiller sur quelle méthode est droite.

Merci

Répondre

0

Vous pouvez essayer de le faire, ne pas oublier de libérer:

[self.navigationController pushViewController:[[YourViewController alloc] initWithNibName:nil bundle:nil] animated:YES]; 
0

PresentModalViewController: -

YourViewController *vC = [YourViewController alloc]initWithNibName:@"YourViewController" bundle:nil]; 
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:vC animated:YES]; 
[vC release]; 

Cela fonctionne bien pour moi

Essayez ce code.Tous les meilleurs

Questions connexes