Откройте представление в UITabBarController - PullRequest
1 голос
/ 04 мая 2009

Мне нужно программно открыть определенную вкладку в моей панели вкладок.

Я попытался вызвать следующий метод из моего UITabBarController:

self.selectedViewController = myVController;

Что не работает.

Как правильно открыть вкладку?

Спасибо.

Обновление: я попробовал следующий код:

self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];

, которая открывает мне желаемую вкладку (она выбирается), но активный вид не обновляется.

Ответы [ 2 ]

4 голосов
/ 17 февраля 2010

Относительно свойства selectedIndex, документы Apple говорят:

В версиях iPhone OS до версия 3.0, это свойство отражает индекс выбранного элемента панели вкладок только. Попытка установить это значение индекс контроллера представления, который не отображается в панели вкладок, но вместо этого управляется навигацией Больше контроллер, не имеет никакого эффекта.

Возможно, это была ваша проблема?

Один из возможных обходных путей - использовать свой собственный UITabBar и обрабатывать собственные представления. Тогда вы можете сделать что-то вроде этого:

[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];

Просто внедрите UITabBarDelegate и определите эту функцию, чтобы получать сообщения выбора элементов и вручную переключать представления. (Хотя, если вы используете расширенные функции UITabBarController, это может не стоить ваших усилий.)

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{

}
0 голосов
/ 04 мая 2009

То, как я это сделал, это использовать self.tabBarController.selectedIndex = 1 (первая вкладка с индексом 0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...