Three20 & TabBarController - PullRequest
       4

Three20 & TabBarController

0 голосов
/ 17 февраля 2011

Я застрял на чем-то.

Я использую 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 голосов
/ 18 апреля 2011

У этого парня был ответ на этот вопрос в этом сообщении в блоге. 1

По сути, в вашем контроллере представления с вкладками просто обращайтесь к своим контроллерам представления, как и без трех20.В вашей вкладке вид имплементации файла контроллера

-(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"];
}
0 голосов
/ 18 февраля 2011

Хорошо, я решил, я использовал метод -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 для каждой, то она зависает ...

...