presentModalViewController не отображается из отдельного UIViewController - PullRequest
0 голосов
/ 21 августа 2011

У меня есть UIViewController с этим методом:

-(void)prepareToShowVault {

...

UINavigationController *passcodeNavigationController = [[UINavigationController alloc] initWithRootViewController:passcodeViewController];
        [self.navigationController presentModalViewController:passcodeNavigationController animated:YES];
        [passcodeViewController release];
        [passcodeNavigationController release];
}

При вызове из другого метода в этом UIViewController он работает просто отлично.Но при вызове из другого UIViewController этот метод запускается, но код не отображает новый modalViewController, вероятно, потому что UIViewController с вышеуказанным методом не активен.Как я могу сделать эту работу?

Ответы [ 2 ]

1 голос
/ 21 августа 2011

В UIViewController документах написано

modalViewController

Контроллер для активного модального представления, то есть представления, которое временно отображается поверх представления, управляемого приемником. (Только для чтения)

Так что я бы предположил, что если ваш контроллер представления не является активным, вы не увидите модальное представление, которое он представляет.

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

0 голосов
/ 21 августа 2011

Почему вы нажимаете навигационный контроллер?Контроллер навигации уже присутствует.Не создавайте навигационный контроллер.Я думаю, вы должны просто делать -

[self.navigationController presentModalViewController:passcodeViewController animated:YES];

HTH,

Акшай

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