Изменить выбранную вкладку UITabBar - PullRequest
4 голосов
/ 28 января 2011

У меня есть приложение, которое я создал как приложение панели вкладок, и есть 3 вкладки (Главная, Поиск, Моя учетная запись).Домашний вид загружается с некоторой информацией и кнопкой поиска.Затем кнопка поиска переводит пользователя в представление поиска, но, поскольку пользователь не выбрал вкладку, выбранная вкладка остается вкладкой «Главная».Как изменить выбранную вкладку с домашней страницы на поисковую после поиска ViewDidLoad?

Ответы [ 4 ]

9 голосов
/ 28 января 2011

Спасибо за помощь, вы, ребята, помогли мне в правильном направлении. Я закончил тем, что использовал делегата приложения для доступа к UITabBarController.Вот как это выглядело.

 Motel_6AppDelegate *appDelegate = (Motel_6AppDelegate*) [[UIApplication sharedApplication] delegate];
    [appDelegate.rootController setSelectedIndex:1];
5 голосов
/ 28 января 2011

Прочитайте документацию. Из контроллера поиска вы можете позвонить:

self.tabBarController.selectedViewController = self;

UITabBarController также имеет свойство selectedIndex, если это более удобно для вас. viewDidLoad, вероятно, неправильное место для ввода этого кода, поскольку он может не вызываться каждый раз, когда отображается контроллер поиска. Вы должны выбрать вкладку непосредственно внутри действия, которое вызывается, когда пользователь нажимает кнопку поиска на главном экране.

3 голосов
/ 28 января 2011

Использовать tabBarController.selectedIndex = intIndex; // в вашем случае 1

используйте этот код внутри приложения DidLaunch

0 голосов
/ 22 февраля 2014

Этот фрагмент работает для меня в раскадровках на iOS7 и Xcode 5.

- (IBAction)cancelButtonPressed:(id)sender
{
    [self.tabBarController setSelectedIndex:1];
}
...