Добавить заголовки на вкладку, созданную программно - PullRequest
2 голосов
/ 15 июля 2011

Я новичок в разработке для iPhone ... Теперь я пытаюсь создать приложение, в котором я создаю UITabbarController программно, как показано ниже:

UITabBarController *tabbar = [[UITabBarController alloc] init];
firstViewController  *firstView = [[firstViewController alloc] initWithNibName:@"firstViewController" bundle:nil];

UINavigationController *tabItemOne = [[[UINavigationController alloc] initWithRootViewController: firstView] autorelease];
secondViewController *secondView = [[secondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];

UINavigationController *tabItemTwo = [[[UINavigationController alloc] initWithRootViewController: settings] autorelease];
tabbar.viewControllers = [NSArray arrayWithObjects:tabItemOne, tabItemTwo,nil]; 
tabbar.view.frame = CGRectMake(0,0,320,460);

[self.view insertSubview:tabbar.view belowSubview: firstView.view];
[self presentModalViewController:tabbar animated:NO];

В этом, как я могу добавить заголовки кtabbar и эти контроллеры.Я пытался:

firstView.title = @"First View";

и

tabItemOne.title = @"First View";

Но эти два не работают .. Как мне это сделать?

Ответы [ 4 ]

3 голосов
/ 15 июля 2011

Настройка aViewController.title устанавливает title как для navigationItem , так и для tabBarItem .Если вы хотите, чтобы navigationItem и tabBarItem имели разные title , сделайте это,

// First set the view controller's title
aViewController.title = @"First View Tab";

// Then set navigationItem's title
aViewController.navigationItem.title = @"First View";
0 голосов
/ 15 июля 2011
UITabBarItem *item= [[[[appDelegate tabBarController]tabBar]items ]objectAtIndex:0];
       //item.image=[UIImage imageNamed:@"hometab.png"];
       item.title=@"First View";

    item= [[[[appDelegate tabBarController]tabBar]items ]objectAtIndex:1];
       //item.image=[UIImage imageNamed:@"hometab.png"];
       item.title=@"Second View";
0 голосов
/ 15 июля 2011

Чтобы установить метку для вкладки вашего контроллера, сделайте следующее:

tabItemOne.tabBarItem.title = @"First View";

(Кстати, вы можете пересмотреть имена ваших переменных. Они довольно запутанные. Панель вкладок звучит так, как и должно быть)экземпляр UITabBar, когда это на самом деле UITabBarController. firstView и secondView звучат как экземпляры UIView, когда они на самом деле являются экземплярами подкласса UIViewController. tabItemOne и tabItemTwo звучат как экземпляры UITabBarItem, когда они на самом деле являются экземплярами UINavigationController.)

0 голосов
/ 15 июля 2011
UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"First View" image:[UIImage imageNamed:@"First View.png"] tag:0];
[tabItemOne setTabBarItem:item];
[item release];

Если я прав.

...