Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Victorianec
20 / 20 / 6
Регистрация: 09.01.2014
Сообщений: 118
#1

Смена Root View Controller в Navigation Controller - Программирование iOS/iPhone

28.12.2014, 18:01. Просмотров 799. Ответов 2
Метки нет (Все метки)

Доброго времени суток.
В приложении есть Storyboard. В нем navigation controller выставлен как initial view controller. При первом запуске мне нужно показать один экран, при всех последующих - другой. Как изменить root view controller для navigation controller'a при первом запуске? Если делать
Objective-C
1
2
3
4
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
UIViewController *mainViewController = [mainStoryboard instantiateViewControllerWithIdentifier: @"SplashViewController"];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController];
[self.window setRootViewController:navigationController];
то создастся новый navigation controller, а мне нужно, чтоб сохранился тот, который создан в сториборде.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2014, 18:01     Смена Root View Controller в Navigation Controller
Посмотрите здесь:

Objective-C Проблема с Navigation Controller
push notification переход на нужный view controller Objective-C
View Controller Scene
Objective-C Жесты + View Controller
По нажатию кнопки на View Controllere открыть Table View Controller
Заполнение Table View Controller
Navigation controller (UITableviewController вместо UIViewController)
Вместо navigation bar с table view хочу сделать просто view controller
Воспроизведение видео AV Kit Player View Controller Swift
Работа с view controller в xcode 6
Вызвать метод View Controller'a из другого View Controller'a Objective-C
Table View Controller не видно ячеек

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
29.12.2014, 15:30     Смена Root View Controller в Navigation Controller #2
Создаете переменную (например типа BOOL), которую будете записывать в NSUserDefaults, при первом запуске проверяете ее наличие и значение.
Если первый запуск уже происходил - показываете один VC.
Если нет - другой.

Можете разделить логику для этих 2-х случаев по разным storyboards, как больше нравится.
Victorianec
20 / 20 / 6
Регистрация: 09.01.2014
Сообщений: 118
30.12.2014, 11:44  [ТС]     Смена Root View Controller в Navigation Controller #3
С переменной проблем не было, была проблема как назначить рутом разные вьюконтроллеры, не потеряв стиля навигейшн бара. В разные сториборды растягивать это не хотелось, опять таки из-за разных навигейшн контроллеров. Решилось заменой
Objective-C
1
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController];
на
Objective-C
1
UINavigationController *navigationController = [(UINavigationController *)self.window.rootViewController initWithRootViewController:mainViewController];
Yandex
Объявления
30.12.2014, 11:44     Смена Root View Controller в Navigation Controller
Ответ Создать тему
Опции темы

Текущее время: 09:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru