动态更改UITabBarItem的标题

时间:2011-03-25 06:48:13

标签: iphone cocoa-touch uitabbarcontroller

我的tabbar中有9个标签...我想从一些视图控制器更改所有这些标题。我这样做了:

for (int i=0; i(less than)[appDelegate.tabBarController.viewControllers count]; i++) {
  UIViewController *uv=[appDelegate.tabBarController.viewControllers objectAtIndex:i];
  uv.tabBarItem.title=@"test";
}

它会立即更改所有可见标签的标题,但不适用于更多标签...

但是,如果我点击更多nav cntrl中的编辑按钮,它会显示更改的名称。 另外......非常奇怪...如果我选择更多标签,那么所有标签都会反映新名称 为什么会这样?

1 个答案:

答案 0 :(得分:1)

在将项目添加到每个Apple文档的栏中之前,需要更改UIBarItem(UITabBarItem的超类)的标题。看起来iOS会在项目添加到栏中后缓存标题,因此您将获得不可预测的行为。

来自UIBarItem类参考:

<强>标题
项目上显示的标题。

@property(非原子,复制)NSString * title

<强>讨论
您应该在将项目添加到栏之前设置此属性。默认值为nil。