自定义UITabBarController选项卡的“更多”列表

时间:2009-07-12 22:15:09

标签: iphone uitabbarcontroller

我正在编写一个基于UITabBarController的App,它有10个以上的viewControllers和相应的UINavigationControllers。每个viewContoller都有一个(短)Title和一个(long)navigationTitle。短标题显示在TabBar图标下,长标题显示在导航栏的顶部。

UITabBarController显示前4个选项卡并自动添加“更多”选项卡,其中显示其余选项卡的列表。此列表显示每个视图控制器的(短)标题。如何告诉它显示(长)navigationTitle?

2 个答案:

答案 0 :(得分:3)

我最近为一个应用程序做了这个,并发现最好的方法是创建一个自定义数据源,将更多表中的标题重命名为长名称。以另一种方式执行它是不切实际的,因为名称必须更改太多次(一次在标签栏加载,一次在更多视图加载,再次在自定义部分加载,再次在自定义部分关闭)。

我找到了基本说明here,只是让它改变了标题。我使用plist来保存每个部分的所有短名和长名。

我的cellForRowAtIndexPath代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [originalDataSource tableView:tableView cellForRowAtIndexPath:indexPath];
    cell.textLabel.text = [[sections objectAtIndex:indexPath.row+4] objectForKey:@"LongName"];
    return cell;
}

答案 1 :(得分:0)

您应该尝试将所有选项卡默认为(长)标题,然后以编程方式将可见选项卡更改为其(短)名称。如果您不知道如何以编程方式更改它们,请告诉我。这实际上可能是一种首先做你想做的事情的方法。我会详细说明提示。