2014-09-17 1 views
-3

спасибо за ваше время, вот структура моего приложения: он содержит MainController и LoginController, когда пользователь lanuch использует приложение, во-первых, судить о состоянии входа, если это да, затем установите childController (aka.MainController) в RootViewController (aka, NavigationController), а затем установите childController (aka.LoginController) в RootViewController (aka, NavigationController), когда пользователь правильно вводит имя пользователя и пароль, установите childController (aka.MainController) к RootViewController (иначе, NavigationController)попытка отклонить modal view controller, чей вид в настоящее время не отображается

Когда пользователь нажимает на кнопку выхода в контроллере установки, которая принадлежит MainController, то:

LoginController *vcLogin = [[LoginController alloc] init]; 
UINavigationController *ncRoot = [[UINavigationController alloc] initWithRootViewController:vcLogin]; 
[[UIApplication sharedApplication].keyWindow setRootViewController:ncRoot]; 

Теперь проблема возникает, печатается консоль: попытка отклонить контроллер модального представления, представление которого в настоящее время не отображается.

self = <_UIModalItemAppViewController: 0x9da0060> modalViewController =<_UIModalItemsPresentingViewController: 0x9e9bac0> 

Вы знаете, где находится неправильная вещь?

ответ

0

Это не способ установить новый UIViewController. Вы должны использовать presentViewController для представления модального контроллера. Если вы хотите использовать pushViewController без анимации, это также возможно. Но это неправильная идея изменить rootViewController. Поскольку иерархия ViewController не настроена в iOS, это не так.

+0

Спасибо, но я не хочу использовать push, потому что если вы будете использовать push снова и снова, стек станет больше и больше, конечно, занятие памяти будет больше, я хочу выйти из учетной записи пользователя и перейдите к loginController и начните сначала, как и первое использование приложения, mainController освободится, и если пользователь правильно вводит имя и pwd, мы снова вызываем mainController. Спасибо. – Temeier

+0

вы должны использовать popViewController, когда вернетесь. Затем снова нажмите новый. – Sjors

Смежные вопросы