2013-12-04 3 views
0

Когда мое приложение запускается, у меня есть модальный контроллер представления для ввода учетных данных (IP @, имя пользователя, пароль ...). Когда пользователь регистрируется, он может открыть много UIViewControllers, которые могут открывать другие UIViewController и т. Д. Эти контроллеры могут быть контроллером навигации, вкладками, модалами ....удалить все uiviewcontroller из иерархии, чтобы отобразить первый uiviewcontroller

Далее пользователь может оставить заявку в задний план. Затем пользователь может открыть приложение Mail и открыть почту, содержащую вложение для перехода к моему приложению. Когда пользователь выбирает мое приложение, чтобы открыть вложение.

Когда приложение перемещается на передний план, мне нужно перейти к определенному viewController иерархии (первый ViewController открыт после экрана входа в систему).

Чтобы переместить приложение к этой первой ViewController я пытался использовать - dismissViewControllerAnimated: завершение:

, но без успеха, там все еще вид из иерархии, по-прежнему отображается.

Любая идея, как это сделать? С уважением,

Sebastien.

ответ

1

Если все контроллеры вида находятся в 1 навигации контроллера и помещается в стек, вы можете просто использовать либо popToRootViewControllerAnimated: или popToViewController:animated:

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

0

Я нашел решение этой небольшой кусок кода

UINavigationController* navc = (UINavigationController*)viewController.topViewController; 
if (navc != Nil) { 
    if (navc.presentedViewController != Nil) { 
     [navc dismissViewControllerAnimated:FALSE completion:Nil]; 
    } 
     [navc popToRootViewControllerAnimated:TRUE]; 
} 

Это не было сложным в конце концов!

Sébastien.

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

  • Нет связанных вопросов^_^