0

我正在开发一个 iphone 应用程序,该应用程序在每个选项卡中都有一个主视图控制器(UITabBarController)和 UINavigationControllers。问题是我无法更改 TabBarItem 的数据(标题和图像)。

这就是我加载视图控制器的方式:

AroundViewController *aroundViewController = [[AroundViewController alloc] init];

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:aroundViewController];
[[navController navigationBar] setTintColor:[UIColor grayColor]];

UITabBarController *tabBarController = [[UITabBarController alloc] init];

NSArray *viewControllers = [NSArray arrayWithObjects:navController, nil];
[tabBarController setViewControllers:viewControllers];

[self presentViewController:tabBarController animated:YES completion:nil];

我正在尝试在 aroundviewcontroller 的初始化中设置 tabbaritem,但我没有成功。我正在阅读,一个解决方案是,在 init 中,

[self setTitle:@"whatever"]; 

这有效,但我无法更改图像。

提前致谢。

4

3 回答 3

1

使用视图控制器的 tabBarItem 实例直接访问标签栏项目!

[self.tabBarItem ....]

[self.tabBarItem setImage: ...]
[self.tabBarItem setTitle: ...]

编辑:

嗯,然后在您的 init 或 viewWillAppear 方法中尝试以下操作:

    UITabBarItem* tabBarItem =  [[UITabBarItem alloc] initWithTitle:@"YourTitle" image:[UIImage imageNamed:@"YourImage.png"] tag:9];
    self.tabBarItem = tabBarItem;
    [tabBarItem release];
于 2012-10-20T18:49:08.363 回答
1

在为 UITabBarController 设置 UIViewControllers 之前,您可以这样做:

[navController.tabBarItem setImage:[UIImage imageNamed:@"MY-IMAGE"]];
[navController setTitle:@"MY-TITLE"];

NSArray *viewControllers = [NSArray arrayWithObjects:navController, nil];
[tabBarController setViewControllers:viewControllers];
于 2012-10-21T03:16:09.640 回答
0

我找到了解决方案。在 viewWillAppear 我放:

[[[self navigationController] tabBarItem] setTitle:@"HELLO"];

这样可行。

于 2012-10-20T19:55:44.420 回答