UINavigation Controller и UITabbarController connumdrum - PullRequest
0 голосов
/ 06 июня 2011

Я искал и искал, но до сих пор не могу понять эту проблему!: - (

У меня есть main.xib a TabBarController , который настроен с пятью viewControllers .

Iя пытаюсь заставить первый viewcontroller быть навигационным контроллером, чтобы, если выбрана первая вкладка, я мог выдвигать и отображать представления в виде.

Но, судя по всему, я не могу заставить это работать?

Я пытался сделать это в методе делегата приложения didLaunch:

UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.delegate=self;
FirstViewController *first = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:[NSBundle mainBundle]];
UINavigationController *firstNav = [[UINavigationController alloc] initWithRootViewController:first];  
NSArray* controllers = [NSArray arrayWithObjects:firstNav, nil];  
tabBarController.viewControllers = controllers;  
[window addSubview:tabBarController.view];

, для которого отображается мое представление, но на панели вкладок не отображаются кнопки?

Любой совет, пожалуйста ??THNX

Ответы [ 4 ]

1 голос
/ 06 июня 2011

Ваш tabBarController содержит только один viewController . Таким образом, будет только один tabBarItem , доступный в tabBarController . Поскольку имеется только один viewController , этот tabBarItem будет выбран по умолчанию, и вы не сможете изменить выбор. Таким образом, вы не чувствуете, что есть кнопка. Но его там. Вы можете установить title и image для viewController , и вы увидите разницу.

first.title = @"firstTab";
first.navigationItem.image = [UIImage imageNamed:@"firstTab.png"];
1 голос
/ 06 июня 2011

Для этого вам необходимо программно добавить View Controllers в TabBar. Как ниже:

oFirstViewController.title = @"First View";
oFirstViewController.tabBarItem.image = [UIImage imageNamed:@"ico.png"];
UINavigationController *myNavigationController1 = [[UINavigationController alloc] initWithRootViewController:oFirstViewController]; 
tabBarController.viewControllers = [NSArray arrayWithObjects:myNavigationController1, myNavigationController2, myNavigationController3, myNavigationController4, nil];

Таким образом, вы должны добавить оставшийся view-контроллер к вашему контроллеру вкладок.

Надеюсь, он поможет вам.

Дайте мне знать, если возникнут какие-либо трудности.

0 голосов
/ 06 июня 2011
[first.tabBarItem initWithTitle:@"First" image:[UIImage imageNamed:@"first.png"] tag:0]; 
0 голосов
/ 06 июня 2011

Ниже приведена ссылка, объясняющая, как настроить контроллер панели вкладок и контроллер навигации
Ссылка 1

Надеюсь, это поможет вам ......

...