Панель навигации не отображается с TTThumbsViewController в UITabBarController

Я пытаюсь поместить TTThumbsViewController в UITabBarController, но когда я это делаю, NavigationBar TTThumbsViewController не отображается. Там просто пустое место, где должна быть навигационная панель. Я загрузил только TTThumbsViewController, и NavigationBar загружается просто отлично. Я уверен, что только что пропустил настройку, но я не могу понять, что это такое.

Вот что я делаю для создания UITabBarController и TTThumbsViewController:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.tabBarController = [[UITabBarController alloc] init];
    ThumbsViewController *thumbsViewController = [[ThumbsViewController alloc] init];
    UITabBarItem *thumbsTabBarItem = [[UITabBarItem alloc] initWithTitle:@"Thumbs" image:[UIImage imageNamed:@"icon.png"] tag:Thumbs];
    thumbsViewController.tabBarItem = thumbsTabBarItem;
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:thumbsViewController, nil];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}

1 ответ

Решение

Если вы загружаете TTThumbsViewController из UITabController, вам нужно создать UINavigationController самостоятельно.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.tabBarController = [[UITabBarController alloc] init];
    ThumbsViewController *thumbsViewController = [[ThumbsViewController alloc] init];
    UITabBarItem *thumbsTabBarItem = [[UITabBarItem alloc] initWithTitle:@"Thumbs" image:[UIImage imageNamed:@"icon.png"] tag:Thumbs];
    thumbsViewController.tabBarItem = thumbsTabBarItem;

    UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:ThumbsViewController] autorelease];

    self.tabBarController.viewControllers = [NSArray arrayWithObjects:navController, nil];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}
Другие вопросы по тегам