У меня есть экран настройки игры, в котором используется UINavigation, и я пытаюсь сбросить или очистить UINavigation после выбора цвета.
Текущий процесс моего приложения лучше всего описать на следующей диаграмме:
Start application -> New game -> Pick character -> Pick Color -> Start game
Вплоть до "Pick Color" я использую UINavigation, однако, когда выбран цвет, я хочу очистить историю UINavigation.
Причина этого заключается в том, что вы не можете вернуться назад после запуска игры и хотите, чтобы UINavigation с чистого листа без указания того, что вы можете вернуться назад (и это также включает в себя возврат к main menu
экран).
То, как я это делаю сейчас, таково;
[self.navigationController popToRootViewControllerAnimated:YES];
GameDashboardVC *dashboard = [[GameDashboardVC alloc] initWithNibName:@"GameDashboardVC" bundle:nil];
dashboard.title = @"Dashboard";
dashboard.managedObjectContext = self.managedObjectContext;
[self.navigationController pushViewController:dashboard animated:YES];
[dashboard release];
Проблема в том, что он всплывает в rootViewController, но никогда не помещает панель мониторинга в стек.
Я пробовал:
[self.parentViewController.navigationController pushViewController....]
Единственное, что я не пробовал, - это вставить свою панель инструментов в сам контроллер корневого представления, но я обеспокоен, потому что я не уверен, должна ли она вообще там быть.
Следовательно, где находится правильное место для размещения такого рода функций и как очистить стек UINavigation.
Спасибо за ваше время / помощь.