簡體   English   中英

Three20和TabBarController

[英]Three20 & TabBarController

我被卡住了。

我正在使用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];

但這是一個問題,因為在您啟動應用程序時,除選定項之外的所有選項卡都是空的。

關於如何實施的任何建議。

好的,我已經解決了,我像往常一樣使用了每個視圖控制器的-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個

基本上,在選項卡視圖控制器中,只需訪問您的視圖控制器即可,就像沒有Three20一樣。 在選項卡視圖控制器的實現文件中

-(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"];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM