UITabbarController selectedIndex和selectedViewController不起作用

时间:2014-05-31 04:12:04

标签: ios objective-c uitabbarcontroller

我试图将以下两行放入- (void)viewDidLoad.

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

那时,只有Tabbar索引才能更改3但View Controller保持默认视图控制器,意味着0.我的编码中是否有任何遗漏?

2 个答案:

答案 0 :(得分:5)

解决方案:尝试移动您的

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

您的代码部分到UIVIewController'

- (void)viewDidAppear:(BOOL)animated

我希望它能帮到你

原因:您必须先让UIViewController完全加载,然后再对其进行额外操作。

答案 1 :(得分:1)

尝试这绝对有效:

 UINavigationController *nc = [[self.tabBarController viewControllers] objectAtIndex:0];
id vc = [[nc viewControllers] objectAtIndex:0];
if ([vc isKindOfClass:[YourViewController class]])
{
    [[self appDelegate].tabBarController setSelectedIndex:3];
}