2

我正在使用tabBar带有导航控制器的基于应用程序。在我的应用程序中,我想更改tabBarItem imageand title。在单击特定时tabBarItem,控件转到viewWillAppear该特定视图的方法。image在这个时候,我想改变title那个特别的tabBarItem

我是这样给的,但它不起作用......

代码:

tabItem = [[UITabBarItem alloc] initWithTitle:@"Colors" image:[UIImage imageNamed:@"Colors.png"] tag:9];

self.tabBarController.tabBarItem = tabItem;

我已经tag value为那个视图设置了9.

请帮助我如何更改特定的imageand 。titletabbarItem

4

1 回答 1

5

您尝试做的事情有一点误解。首先, UITabBarController 没有 tabBarItem 属性,这是您试图设置的。但是,即使确实如此,UITabBarController 文档也明确说明了关于 UITabBarController 的 tabBar 属性:

您永远不应尝试操作存储在此属性中的 UITabBar 对象本身。如果您尝试这样做,选项卡栏视图将引发异常。

所以,修改item的方式并不是通过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];
}
于 2011-01-18T18:12:11.727 回答