2015-01-25 4 views
0

Мне нужно представить классическое пошаговое руководство, когда приложение будет запущено в первый раз, но с реализацией, которую я имею в виду, я в конечном итоге создаю структуру, которая сохраняет прохождение как первый контроллер иерархии ... и мне это не нравится. Вот описание моей реализации:Показ/отклонение прохода - структура приложения iOS

1) В didFinishLaunchingWithOption я проверяю UsereDefault поймать первый запуск

2) Если это первый запуск я заменить rootViewController в window с пошаговом

3) Когда прохождение игры закончена, я представить first view controller of the App

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

Не могли бы вы предложить хороший образец, чтобы показать/отклонить прохождение?

+0

Использует ли ваше приложение навигационный контроллер? Проходит ли прогулка? – Wain

ответ

1

Когда вы закончите Walk-through, замените rootViewController вашего окна.

FirstViewController *firstVC = [[FirstViewController alloc] init]; 
yourAppDelegate.window.rootViewController = firstVC; 

Или, если вы используете Раскадровка:

FirstViewController *firstVC = (FirstViewController *)[[UIStoryboard storyboardWithName:@"YourStoryboardName" bundle: nil] instantiateViewControllerWithIdentifier:@"YourFirstVCId"]; 
yourAppDelegate.window.rootViewController = firstVC; 

Другой вариант Показывать Пошаговое как модальный поверх FirstViewController, если это первый раз.

+0

Есть ли способ выполнить плавный переход? изменение rootController таким образом имеет ужасный эффект gfx. – MatterGoal

+0

Для этого вам нужно написать некоторую пользовательскую анимацию. –

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