我试图将以下两行放入- (void)viewDidLoad.
self.tabBarController.selectedIndex = 3;
self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:3];
那时,只有Tabbar索引才能更改3但View Controller保持默认视图控制器,意味着0.我的编码中是否有任何遗漏?
答案 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];
}