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

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

Войти
Регистрация
Восстановить пароль
 
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
#1

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

26.08.2014, 15:04. Просмотров 819. Ответов 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"];
Но его нет ни в списке контроллеров, ни по имени не отзывается. При этом вручную, при нажатии на кнопку, идет смена вьюшек.

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

push notification переход на нужный view controller Objective-C
View Controller Scene
Objective-C Жесты + View Controller
По нажатию кнопки на View Controllere открыть Table View Controller
Заполнение Table View Controller
Вместо navigation bar с table view хочу сделать просто view controller
Воспроизведение видео AV Kit Player View Controller Swift
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Victorianec
20 / 20 / 6
Регистрация: 09.01.2014
Сообщений: 118
26.08.2014, 15:36     При первом запуске программно переключиться на второй view controller (его не видно) #2
Если я не ошибаюсь, пока вы не создали ваш второй вьюконтроллер в первом или не перешли в него переходами сториборда - вашего вотрого вьюконтроллера в памяти просто не существует. Отсюда делайте выводы.
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
26.08.2014, 16:15  [ТС]     При первом запуске программно переключиться на второй view controller (его не видно) #3
Victorianec, Почему не создал? Во втором случае я его создаю и делаю пуш, но это не работает.

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

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

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

Добавлено через 2 минуты
И я пишу self.stryboard
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2014, 18:37     При первом запуске программно переключиться на второй view controller (его не видно)
Еще ссылки по теме:

Работа с view controller в xcode 6
Текст в таблице при первом запуске
Смена Root View Controller в Navigation Controller
Вызвать метод View Controller'a из другого View Controller'a Objective-C
Table View Controller не видно ячеек

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

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

Добавлено через 24 минуты
Все, спасибо большое за помощь. С этим все понятно стало.
Yandex
Объявления
26.08.2014, 18:37     При первом запуске программно переключиться на второй view controller (его не видно)
Ответ Создать тему
Опции темы

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