【问题标题】:How to change TabBarItem image and title-issue如何更改 TabBarItem 图像和标题问题
【发布时间】:2011-01-18 07:53:08
【问题描述】:

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

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

代码:

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

self.tabBarController.tabBarItem = tabItem;

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

请帮助我如何更改特定tabbarItemimagetitle

【问题讨论】:

  • 请任何人提供一些解决方案来做到这一点...谢谢

标签: iphone ios image title uitabbaritem


【解决方案1】:

您尝试做的事情有一点误解。首先, 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];
}

【讨论】:

  • Hai Matt Wilding, tabItem = [[UITabBarItem alloc] initWithTitle:@"Colors." image:[UIImage imageNamed:@"Colors.png"] tag:9]; self.navigationController.tabBarItem = tabItem; [tabItem发布];上面的代码适用于所有 tabbaritem(具有导航控制器),除了一个 tabbaritem ..我该如何解决这个问题...请帮我这样做...谢谢
  • 您需要在此处提供一些上下文...这个有什么不同?如果它代表与另一个不同类的视图控制器,您还需要将该代码也放入其中...
  • 你的意思是,self.tabBarItem.title = @"MyTitile";不管用?真的它在我的情况下不起作用。这是API规则吗?但是新的标签栏项目工作正常。
猜你喜欢
  • 2011-10-16
  • 1970-01-01
  • 2018-12-10
  • 1970-01-01
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
  • 2023-02-08
相关资源
最近更新 更多