Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
#1

Смена self.navigationController - Программирование iOS

26.12.2013, 18:23. Просмотров 505. Ответов 3
Метки нет (Все метки)

Всем привет!

Подскажите, пожалуйста, как правильно будет поступить в данной ситуации:
В приложении, в определенном контроллере есть кнопка "Log out".
Когда пользователь ее нажимает, то мы должны "бросить все", и загрузить один из NavigationController'ов, живущих в сторибоарде, что инициирует показ стартового экрана с возможностью входа.

Первая пришедшая в голову мысль - взять и поменять
Objective-C
1
self.navigationController
на нужный мне, не проходит. Так как это свойство read-only.

Еще есть мысль сделать что-то вроде одного корневого UITabBarController с двумя табами: один - это мой экран входа, а второй - все остальное. И в нужный момент переключить. Но как-то страшновато звучит.

Как правильно делать в таких случаях?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2013, 18:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Смена self.navigationController (Программирование iOS):

AutoLayout и смена ориентации
Добрый день! Использую AutoLayout. При повороте экрана все растягивается как...

Смена цвета времени
Здравствуйте! Подскажите пожалуйста, как изменить цвет верхней панели,...

Смена ориентции не сопровождается нотификацией
Доброго времени суток. Сталкивался ли кто-нибудь с ситуацией, что при смене...

Смена фокуса между TextView
Доброго времени суток. У меня есть несколько таблиц на одном view, они...

Смена свойств объектов по нажатию на кнопку
Доброго времени суток. Подскажите, ни как не могу в гугле найти решение. У...

Принудительная смена ориентации экрана в iOS 7
Доброго времени суток. Мое приложение спроектировано таким образом, что первый...

3
Монфрид
1208 / 1018 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
27.12.2013, 10:40 #2
вам надо взять навконтроллер и показать его. Дайте контроллеру имя на сториборде. Потом из кода:
Objective-C
1
2
MyNav *nav = (MyNav*)[self.storyBoard instantiateViewControllerWithIdentifier:@"Nav"];
[self presentViewController...:nav];
1
КОЗАК СЕРГІЙ
4 / 4 / 1
Регистрация: 16.10.2009
Сообщений: 38
27.12.2013, 12:14 #3
Монфрид, Но для такой операции неплохо было б еще и сделать popToRootViewControllerAnimated и уже на рут контроллер добавить сам "MyNav *nav", чтоб в памяти не держать все предыдущие созданые контроллери, так как ми их не будем использовать (хотя это может зависеть от задачи).
1
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
27.12.2013, 13:47  [ТС] #4
Спасибо всем!

Почитал после комментария КОЗАК СЕРГІЯ developer.apple.com и вижу такую строку:
"..The presentViewController:animated:completion: method presents the view for the specified view controller object and configures the presenting-presented relationships between the new view controller and the current view controller."

То есть, таки получается, что при выполнении presentViewController мы из памяти текущий стек контроллеров не выгружаем..
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2013, 13:47
Привет! Вот еще темы с решениями:

Смена кодировки NSString
ДВС, всем! На ГитХабе нашел парсер HTML (Objective-C-HMTL-Parser ), встроил...

Смена цвета status bar
ребят, как поменять цвет текста статус бара на кастомный? текст на белый и...

Смена лицензии Битрикс, смена владельца сайта
Всем привет! Вопрос не тривиальный, но, возможно, кто-нибудь сталкивался....

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru