我的tabBarController中有5个视图,所有这些视图都嵌入在一个单独的导航控制器中,即每个视图都有自己的导航控制器。我这样做是为了更容易推送segues,我知道它可能不是最好的解决方案,但它工作正常。现在问我的问题:
我正在尝试使用以下代码设置初始视图:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
tabBarController.selectedIndex = 2;
return YES;
}
然而它根本不工作,应用程序只是启动并索引0(最左边的视图)。
我搜索了this这样的透彻线程,尝试了许多不同的方法来解决这个问题而没有任何成功......
我得到的最近的是当我在MainStoryboard_iPhone.storyboard中选中我想要开始的viewcontroller中的“是初始视图控制器”框时。这样我得到了正确的起始视图控制器,但是标签栏没有显示。
答案 0 :(得分:1)
由于您正在使用故事板,请执行以下操作: 1)为tabBarController提供一个故事板标识符(比如tbc); 2)在你的appDelegate DidFinishLaunching中,执行以下操作::
UITabBarController *tbc = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"tbc"];
[tbc setSelectedIndex:1];
[self.window setRootViewController:tbc];
[self.window makeKeyAndVisible];
return YES;
PS:这只是使其发挥作用的众多方法之一