我正在开发一个iphone应用程序,它在每个选项卡中都有一个带有UINavigationControllers的主视图控制器(UITabBarController)。问题是我无法更改TabBarItem的数据(标题和图像)。
这是我加载viewcontrollers的方法:
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的init中设置tabbaritem,但我没有成功。 我正在阅读,一个解决方案是在初始化
[self setTitle:@"whatever"];
这有效但我无法改变图像。
提前致谢。
答案 0 :(得分:1)
使用视图控制器的tabBarItem实例直接访问标签栏项目!
[self.tabBarItem ....]
[self.tabBarItem setImage: ...]
[self.tabBarItem setTitle: ...]
编辑:
hm,然后在init或viewWillAppear方法中尝试以下操作:
UITabBarItem* tabBarItem = [[UITabBarItem alloc] initWithTitle:@"YourTitle" image:[UIImage imageNamed:@"YourImage.png"] tag:9];
self.tabBarItem = tabBarItem;
[tabBarItem release];
答案 1 :(得分:1)
在为UITabBarController设置UIViewControllers之前,您可以这样做:
[navController.tabBarItem setImage:[UIImage imageNamed:@"MY-IMAGE"]];
[navController setTitle:@"MY-TITLE"];
NSArray *viewControllers = [NSArray arrayWithObjects:navController, nil];
[tabBarController setViewControllers:viewControllers];
答案 2 :(得分:0)
我找到了解决方案。 在viewWillAppear中我把:
[[[self navigationController] tabBarItem] setTitle:@"HELLO"];
有效。