uitabbarcontroller / uitabbar в навигационном проекте - PullRequest
1 голос
/ 22 февраля 2011

Я создал проект на основе навигации. и на втором экране я хочу добавить контроллер uitabbar. поэтому любой может подсказать, как мне это сделать.

Я уже много раз искал, но пока безуспешно. поэтому, пожалуйста, не могли бы вы предоставить простой пример этого. я уже пробовал ниже обсуждение, но я думаю, что это не очень хороший подход.

Приложение на основе навигации с TabBar

Спасибо

1 Ответ

2 голосов
/ 23 февраля 2011

На самом деле это правильный подход.Единственное, что не правильно, это то, где расположены контроллеры.Это произошло в предыдущем контроллере, который выполняет push, но должен быть размещен в объекте, который ответственен, TabBarController.

Когда вы реализуете свое действие, чтобы показать UITabBarController, сделайте следующий код:

- (void) theAction {
   SomeTabBarControllerSubClass *controller = [[SomeTabBarControllerSubClass alloc] init];
   [self.navigationController pushViewController:controller animated:YES];
   [controller release];
}

Затем при реализации класса SomeTabBarControllerSubClass:(.ч)

@interface SomeTabBarControllerSubClass : UITabBarController {
   UIViewController *first;
   UIViewController *second;
}

@end

(.м)

@implementation SomeTabBarControllerSubClass

- (void) viewDidLoad {
   first = [[UIViewController alloc] init]; //Or initWithNib:
   second = [[UIViewController alloc] init];

   first.view.backgroundColor = [UIColor greenColor] //Just example
   second.view.backgroundColor = [UIColor redColor] //Just example
   first.tabBarItem.image = [UIImage imageNamed:@"someImage.png"];

   self.viewControllers = [NSArray arrayWithObjects:first,second,nil];
}

- (void) dealloc {
   [first dealloc];
   [second dealloc];
   [super dealloc];
}

@end
...