0

我的 tabBarController 中有 5 个视图,它们都嵌入到单独的导航控制器中,即每个视图都有自己的导航控制器。我这样做是为了更容易推动 segue,我知道这可能不是最好的解决方案,但它工作正常。现在我的问题:

我正在尝试使用以下代码设置初始视图:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    tabBarController.selectedIndex = 2;
    return YES;
}

但是它根本不起作用,应用程序只是启动并索引 0(最左边的视图)。

我已经搜索了这样的彻底线程并尝试了许多不同的方法来解决这个问题,但没有任何成功......

最接近的是当我在 MainStoryboard_iPhone.storyboard 中选中我想开始的视图控制器中的“是初始视图控制器”框时。这样我得到了正确的起始视图控制器,但标签栏没有显示。

4

1 回答 1

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:这只是使其工作的众多方法之一

于 2013-01-30T20:57:02.537 回答