【问题标题】:UITabbarController selectedIndex and selectedViewController do not workUITabbarController selectedIndex 和 selectedViewController 不起作用
【发布时间】:2014-05-31 04:12:04
【问题描述】:
我尝试将以下两行放入- (void)viewDidLoad.
self.tabBarController.selectedIndex = 3;
self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:3];
当时,只有 Tabbar 索引更改为 3,但 View Controller 保持在默认视图控制器,即 0。我的编码中是否缺少任何东西?
【问题讨论】:
标签:
ios
objective-c
uitabbarcontroller
【解决方案1】:
解决方案:尝试移动您的,
self.tabBarController.selectedIndex = 3;
self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:3];
你的代码的一部分到 UIVIewController 的
- (void)viewDidAppear:(BOOL)animated
希望对你有帮助
原因:您必须先让您的 UIViewController 完全加载,然后再对其触发额外操作。
【解决方案2】:
试试这个绝对有效:
UINavigationController *nc = [[self.tabBarController viewControllers] objectAtIndex:0];
id vc = [[nc viewControllers] objectAtIndex:0];
if ([vc isKindOfClass:[YourViewController class]])
{
[[self appDelegate].tabBarController setSelectedIndex:3];
}