Сбой модального View Controller - PullRequest
       16

Сбой модального View Controller

0 голосов
/ 21 сентября 2011

У меня есть три вида внутри прокрутки.Я добавил их с помощью следующего кода:

[self.scrollView addSubview:[aViewController view]];

Когда я прокручиваю представление, я хочу представить контроллер модального представления со своим собственным контроллером навигации, однако это вызывает сбой.Вот код, который я использую, чтобы показать модальное представление

    MyVC *vc = [[MyVC alloc] initWithNibName:@"VC" bundle:nil];
self.navController.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
self.navController.viewControllers = [NSArray arrayWithObject:vc];
[vc release];
[self presentModalViewController:self.navController animated:YES];

. И получаемый сбой: завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Попытка начать модальный переходв то время как переход уже выполняется.Подождите, пока viewDidAppear / viewDidDisappear узнает, что текущий переход завершен '

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2011

Вы не должны пытаться представить навигационный контроллер контроллера вида изнутри.Вместо этого создайте новый контроллер навигации для вашего контроллера модального вида:

MyVC *vc = [[MyVC alloc] initWithNibName:@"VC" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:vc];
navigationController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

[self presentModalViewController:navigationController animated:YES];
[vc release];
0 голосов
/ 21 сентября 2011

Вы не можете представить текущий контроллер навигации. Представьте вместо этого ваш MyVC viewcontroller

MyVC *vc = [[MyVC alloc] initWithNibName:@"VC" bundle:nil];
vc.modalPresentationStyle = UIModalPresentationFormSheet;
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; [self
presentModalViewController:vc animated:YES]; 
[vc release];

Вы также можете создать новую иерархию контроллеров представления, перенести их на новый контроллер навигации и представить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...