Three20& TabBarController

时间:2011-02-17 18:55:42

标签: iphone three20

我被困在某事上。

我正在使用three20和TTTNavigator示例。我在哪里可以找到使用的TabBarController:

[self setTabURLs:[NSArray arrayWithObjects:@"tt://crush",
                                               @"tt://crushes",
                                               nil]];

创建每个标签。

好的,直到这里一切正常,我的问题是我的所有标签都没有标题和图像。我知道在加载- (void)viewDidLoad内的视图控制器时如何设置个人:

    self.title = @"crush";
    UIImage* image = [UIImage imageNamed:self.title];
    self.tabBarItem = [[[UITabBarItem alloc] initWithTitle:self.title image:image tag:0] autorelease];

但这是一个问题,因为当您启动应用程序时,除选定项以外的所有选项卡都是空的。

有关如何实施该建议的任何建议。

2 个答案:

答案 0 :(得分:0)

好的我已经解决了,我使用了每个视图控制器的-init方法..通常......但我需要改变的是:

[self setTabURLs:[NSArray arrayWithObjects:@"tt://crush/1",
                                               @"tt://crushes/2",
                                               nil]];

在地图中:

[map from:@"tt://crush/(init)" toViewController:[MakeCrushViewController class]];
[map from:@"tt://crushes/(init)" toViewController:[MyCrushesViewController class]]; 

对我来说现在它看起来很奇怪..但确定工作,不要问我为什么你需要在链接之前设置1和2 ..如果我在每个设置1崩溃...

答案 1 :(得分:0)

这个人在这篇博文中找到了这个问题的答案。1

基本上,在选项卡视图控制器中,只需访问视图控制器即可 就像你没有三十二。在选项卡视图控制器实现文件

-(void)viewDidLoad{
[super viewDidLoad];

NSArray *tabs =  [self viewControllers];

UIViewController *home = [tabs objectAtIndex:0];

home.tabBarItem.image = [UIImage imageNamed:@"redo.png"];

UIViewController *activities = [tabs objectAtIndex:1];
activities.tabBarItem.image = [UIImage imageNamed:@"restart.png"];
UIViewController *map = [tabs objectAtIndex:2];
map.tabBarItem.image = [UIImage imageNamed:@"lock.png"];
}