Программное переключение вкладок с помощью свойства selectedViewController - PullRequest
1 голос
/ 09 марта 2012

Я уже использовал поиск, не нашел ответа.

Попытка переключиться так:

[self. tabBarController.selectedViewController OptionsViewContorller];

и вот так:

 [self.tabBarController.selectedViewController = self.tabBarController.viewControllers     objectAtIndex:3];

но это не работает, я тоже попробовал и совет изменить

self.tabBarController.selectedIndex

но изменяется только на панели вкладок, а не в представлении.

Ответы [ 5 ]

6 голосов
/ 09 марта 2012

Это должно работать.

self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:3];
1 голос
/ 30 марта 2012

// этот код я использую для переключения на контроллер просмотра панели вкладок 0, контроллер первого просмотра.

self.tabBarController.selectedIndex = 0;

UIViewController *controller = [self.tabBarController.viewControllers objectAtIndex:0];
if ([controller isKindOfClass:[UINavigationController class]]) {
    [((UINavigationController*)controller) popToRootViewControllerAnimated:false];
}

[self.navigationController popToRootViewControllerAnimated:true];
0 голосов
/ 03 января 2019

для swift 4 +

Вы должны получить ссылку на вкладку до того, как представление было представлено

let tab = self.presentingViewController as! UITabBarController
self.dismiss(animated: true, completion:{ 
     tab.selectedIndex = 2
})
0 голосов
/ 27 августа 2015

Если вы хотите переключиться с вашего UITabBarController класса, вы должны написать этот код в -viewDidAppear:animated:

[((UIViewController *) self.viewControllers[0]).tabBarController setSelectedIndex:1];

Надеюсь, эта помощь.

0 голосов
/ 09 марта 2012
// viewControllerIndex is an int describing the position of the viewController
// in the tab bar array index
[self.tabBarController setSelectedIndex:viewControllerIndex];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...