presentModalViewController выдает ошибку? - PullRequest
0 голосов
/ 06 октября 2009

если я запускаю следующее сообщение об ошибке, текущий контроллер является настольным контроллером ....

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];

Ответы [ 2 ]

3 голосов
/ 06 октября 2009

Если mView является контроллером представления, вы можете представить его с анимацией, выполнив следующие действия:

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

Свойство modalTransitionStyle доступно только для iPhone OS 3.0 и выше. Надеюсь это поможет. :)

3 голосов
/ 06 октября 2009

Похоже, что mView является UIViewController, а не UIView.

Это правильный способ применить пользовательскую анимацию к контроллеру модального вида:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:[self view] cache:YES];
[self presentModalViewController:mView animated:NO];
[UIView commitAnimations];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...