Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
#1

При первом запуске программно переключиться на второй view controller (его не видно)

26.08.2014, 15:04. Просмотров 1022. Ответов 8
Метки нет (Все метки)

Добрый день.

Есть 2 view controller'а. Во втором текстовое поле. Если оно не заполнено (а при первом запуске оно пустое), то надо переключиться автоматически на второй view контроллер.

Пробовал

Objective-C
1
2
3
4
5
6
7
8
9
NSUInteger VCcount = self.navigationController.viewControllers.count;
    UIViewController *btVC = self.navigationController.viewControllers[VCcount-2];
    
    
    if([self.btViewController.labelText.text isEqualToString:@""])
    {
        [self.navigationController pushViewController:btVC animated:YES];
    
    }
и

Objective-C
1
UIViewController* btVC = [storyboard instantiateViewControllerWithIdentifier:@"BTViewController"];
Но его нет ни в списке контроллеров, ни по имени не отзывается. При этом вручную, при нажатии на кнопку, идет смена вьюшек.

Как насильно вывести второй контроллер?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2014, 15:04
Ответы с готовыми решениями:

Table View Controller не видно ячеек
Здравствуйте. Я новичек и решил начать с чтения данной ссылки...

Смена Root View Controller в Navigation Controller
Доброго времени суток. В приложении есть Storyboard. В нем navigation...

По нажатию кнопки на View Controllere открыть Table View Controller
Как по нажатию кнопки на View Controllere открыть Table View Controller

Вместо navigation bar с table view хочу сделать просто view controller
добрый вечер. В xcode есть стандартный темплейт с navigation controller, ...

Текст в таблице при первом запуске
Вечер добрый. Приложение при первом запуске скачивает из инета данные. Мне бы...

8
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
26.08.2014, 15:36 #2
Если я не ошибаюсь, пока вы не создали ваш второй вьюконтроллер в первом или не перешли в него переходами сториборда - вашего вотрого вьюконтроллера в памяти просто не существует. Отсюда делайте выводы.
0
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
26.08.2014, 16:15  [ТС] #3
Victorianec, Почему не создал? Во втором случае я его создаю и делаю пуш, но это не работает.

А в первом случае я его действительно не создаю, а ищу.

Добавлено через 9 минут
И, кстати, мне не нужно создавать новый. Мне надо "попасть" в существующий.
0
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
26.08.2014, 16:18 #4
В том то и дело, что пока вы не сделали первый пуш в ваш вьюконтроллер и не отработал viewDidLoad - его не существует. Хотя я могу ошибаться. Может меня поправят.
0
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
26.08.2014, 16:22  [ТС] #5
вы имеете в виду что я не сделал так:

Objective-C
1
2
3
UIViewController* btVC = [storyboard instantiateViewControllerWithIdentifier:@"BTViewController"];
 
[self.navigationController pushViewController:btVC animated:YES];
?
0
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
26.08.2014, 16:24 #6
Ради эксперимента - сделайте вторую кнопку с такими действиями для нее: назначьте конроллер из сториборда, проверьте, пустое ли поле и выведите в лог, пустое или нет. Проверьте работу кнопки до перехода во вьюконтроллер и после.
0
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
26.08.2014, 16:56  [ТС] #7
Victorianec, поле пустое. Отладчик ругается когда видит строку
Objective-C
1
UIViewController* btVC = [storyboard instantiateViewControllerWithIdentifier:@"BTViewController"];
Говорит, что нет такого вью.
0
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
26.08.2014, 17:16 #8
Проверьте, чтоб StoryboardID в сториборде совпадал с BTViewController. Это именно идентификатор, а не класс.

Добавлено через 2 минуты
И я пишу self.stryboard
1
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
26.08.2014, 18:37  [ТС] #9
Victorianec, Я проверял с помощью
Objective-C
1
NSStringFromClass()
. А как вы имеете в виду проверить?

Добавлено через 24 минуты
Все, спасибо большое за помощь. С этим все понятно стало.
0
26.08.2014, 18:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2014, 18:37

View Controller Scene
Еще раз всем Доброго времени суток.Вопрос у меня есть один View Controller...

Вызвать метод View Controller'a из другого View Controller'a
Какой есть простой способ вызвать метод одного контроллера из другого ? Метод...

Я теряю данные на пути Controller-View-Controller. Как правильно получить модель из представления?
У меня есть модель, которая содержит несколько свойств. Есть List<Point> и...


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

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

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