使UITabBarController成为根视图控制器

时间:2012-11-19 22:33:20

标签: objective-c xcode

我做了一个空的应用程序,然后我在故事板中添加了UITabBarController。然后我将其检查为初始viewcontroller并将两个NavigationControllers连接起来以表示标签。 但是,如果我现在运行应用程序,它会说“应用程序窗口在应用程序启动结束时应该有一个根viewcontroller。”并显示一个白色的屏幕。

我的AppDelegate看起来像这样:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}

我必须添加TabBarController作为主窗口,但是如何做到这一点? 如果TabBarController是以编程方式制作的,我会想到但是如何在故事板中创建它?我可以在AppDelegate为它创建一个属性吗?在这种情况下如何将它挂在故事板中?

1 个答案:

答案 0 :(得分:3)

您可以在目标设置Storyboard中挂钩故事板然后确保故事板内的UITabBarController是初始UIViewController Initial View Controller。您也可以使用此代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *initialViewController = (UIViewController *)[storyboard instantiateViewControllerWithIdentifier:@"IdentifierOfYourViewController"];
self.window.rootViewController = initialViewController;