我正在使用基于tabBar
的应用程序和导航控制器。在我的申请中,我想更改tabBarItem image
和title
。在单击pariticular tabBarItem
时,控件转到该特定视图的viewWillAppear
方法。在这段时间我想更改特定image
的{{1}}和title
。
我这样给,但是,它不起作用......
代码:
tabBarItem
我已经为该视图设置tabItem = [[UITabBarItem alloc] initWithTitle:@"Colors" image:[UIImage imageNamed:@"Colors.png"] tag:9];
self.tabBarController.tabBarItem = tabItem;
tag value
。
请帮助我如何更改特定9
的{{1}}和image
。
答案 0 :(得分:5)
您尝试做的事情有一点误解。首先,UITabBarController没有tabBarItem属性,这是您尝试设置的属性。但是,即使它确实如此,UITabBarController文档特别声明了UITabBarController的tabBar属性:
您永远不应该尝试操纵存储在此属性中的UITabBar对象。如果您尝试这样做,标签栏视图会抛出异常。
因此,修改项目的方法是通过UITabBar本身而不是。在您的情况下,UITabBar从每个选项卡表示的UIViewControllers获取其UITabBarItems。这是你可以控制的。具体来说,你可以做的是:
- (void)viewWillAppear:(BOOL)animated {
/* Modifies the UITabBarItem used by a UITabBarController to represent this
* UIViewController in the tab bar.
*/
UITabBarItem* tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Colors" image:[UIImage imageNamed:@"Colors.png"] tag:9];
self.tabBarItem = tabBarItem;
[tabBarItem release];
}