2009-10-06 9 views
0

si je donne erreur terme à la suite, le contrôleur actuel est contrôleur de table ....presentModalViewController donne une erreur?

SetController *aSecondView = [[SetController alloc] initWithNibName:@"Sets" bundle:nil]; 
SchedAppDelegate *mainDelegate = (SchedAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    [mainDelegate setSettingsViewController:aSecondView]; 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:2.0]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:[[self view] superview] cache:YES]; 
    [self.view removeFromSuperview]; 
    [self presentModalViewController:aSecondView animated:NO]; 
    //[aSecondView release]; 
    [UIView commitAnimations]; 

Répondre

3

Il semble que mView est un UIViewController et non un UIView.

Ceci est la bonne façon d'appliquer une animation personnalisée à un contrôleur de vue modal:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:2.0]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:[self view] cache:YES]; 
[self presentModalViewController:mView animated:NO]; 
[UIView commitAnimations]; 
+0

avez-vous exécuté, j'ai vérifié, il ne fonctionnait pas pour UIViewAnimationTransitionFlipFromRight –

+0

avez-vous essayé forView: [[self view] superview] à la place? De plus, je n'ai pas votre code, donc je ne pourrais pas le tester. – rpetrich

+0

Je l'ai essayé. mais je ne pouvais pas le faire.J'ai édité avec mon code complet pouvez-vous voir et répondre? –

3

Si mview est un contrôleur de vue, vous pouvez le présenter avec une animation flip en procédant comme suit:

mView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:mView animated:YES]; 

La propriété modalTransitionStyle est uniquement disponible pour iPhone OS 3.0 et ultérieur. J'espère que cela t'aides. :)

Questions connexes