如何更改TabBarItem图像和标题问题

时间:2011-01-18 07:53:08

标签: iphone ios image title uitabbaritem

我正在使用基于tabBar的应用程序和导航控制器。在我的申请中,我想更改tabBarItem imagetitle。在单击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

1 个答案:

答案 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];
}
相关问题