Навигация по iOS-приложению

Мой поток приложений показан ниже, где A, B, c и D являются контроллерами представления. Стрелки отмечают представление от и до контроллеров просмотра.

введите здесь описание изображения

Теперь мне нужна кнопка «Домой» в контроллере представления B, C и D, которая перемещается обратно к A. Я не использую раскадровку. Я не могу использовать диспетчера отклонения представления, так как он отклоняет только один раз, где в некоторых случаях требуется 2 или 3 предыдущих контроллера представления.

Любые предложения в этом отношении будут полезны.


person raheem52    schedule 08.11.2014    source источник


Ответы (2)


Похоже, вы должны использовать A в качестве контроллера корневого представления в UINavigationController. Единственное, что нужно будет сделать B, C и D, — это вызвать popToRootViewController.

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

person kpsharp    schedule 08.11.2014

Как насчет использования setViewControllers:animated:. Где бы вы ни находились, вы получаете первый контроллер представления как firstViewController = [self.navigationController viewController] firstObject], затем [self.navigationController setViewControllers:@[firstViewController]animated:YES].

См. здесь: setViewControllers:animated:

person Antenehs    schedule 08.11.2014