我正在将基于tabBar的应用程序与导航控制器一起使用。在我的应用程序中,我想更改tabBarItem imagetitle。在单击偶数tabBarItem时,控件转到该特定视图的viewWillAppear方法。这一次我想更改该特定imagetitletabBarItem

我给这样,但不起作用...

码:

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

self.tabBarController.tabBarItem = tabItem;

我已经为该视图设置了tag value,即9

请帮助我如何更改该特定imagetitletabbarItem

最佳答案

您尝试执行的操作中存在一些误解。首先,UITabBarController没有tabBarItem属性,这是您要设置的属性。但是,即使这样做,关于UITabBarController的tabBar属性,UITabBarController文档也特别声明:

您永远不要尝试操作存储在此属性中的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];
}

关于iphone - 如何更改TabBarItem图像和标题问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4721669/

10-13 04:02