当视图在栏上时为 UITabBar 设置单独的标题与更多...?
Posted
技术标签:
【中文标题】当视图在栏上时为 UITabBar 设置单独的标题与更多...?【英文标题】:Setting a separate title for UITabBar when the view is on the bar vs. More...? 【发布时间】:2010-01-30 23:18:29 【问题描述】:在线程“Is there a way to set a separate short title for UITabBar?”中询问(已编辑)这个问题:“如何给视图提供短名称以显示在选项卡栏上,并在同一视图链接到表视图(有更多空间)。”答案是为导航控制器和 tabBar 控制器提供单独的标题。我不认为这完全回答了这个问题。有 两个 位置可以看到 tabBar 标题:在标签栏本身和作为 tableView 的“更多...”屏幕上。
在标签栏上可见时,标题需要较短,但在更多视图上时,标题需要较长。实现它的诀窍是什么?
【问题讨论】:
【参考方案1】:回答我自己的问题:在 UITabBarController 中使用蛮力:
// UITabBarControllerDelegate
- (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed
if ( changed ) // swap tabBar titles for the controllers with long and short names
int index = 0; // 0, 1, 2, 3 are on the tab bar, others are on the More tableView
for ( UINavigationController *aNavController in viewControllers )
if ( index > 3 ) // use long names, look for short names
if ( [aNavController.tabBarItem.title ieq:@"Short"] )
aNavController.tabBarItem.title = @"The Long Title";
else // use short names, look for long names
if ( [aNavController.tabBarItem.title ieq:@"The Long Title"] )
aNavController.tabBarItem.title = @"Short";
index++;
【讨论】:
以上是关于当视图在栏上时为 UITabBar 设置单独的标题与更多...?的主要内容,如果未能解决你的问题,请参考以下文章
UITabBar 自定义背景图像应用于一个视图控制器而不是 AppDelegate
当 NavigationController 将视图弹出回所述 ViewController 时,UITabBar 消失