Недавно я провел некоторую реорганизацию своего проекта, и теперь я не вижу свой контроллер панели вкладок, но появляется его первое представление контроллера представления. Вот разбивка всего, что происходит до возникновения проблемы.
App Delegate загружает FirstViewController пером. FirstViewController загружает данные приложения с моего сервера, а затем представляет MainViewController модальным переходом. MainViewController - это место, где должен появиться UITabBarController. Это очень простой класс.
.H
@interface MainViewController : UIViewController <UITabBarControllerDelegate> {
IBOutlet UITabBarController *tabBarController;
}
@property (nonatomic, retain) UITabBarController *tabBarController;
@end
Их
@implementation MainViewController
@synthesize tabBarController;
- (void)viewDidLoad {
NSLog(@"MainViewController viewDidLoad");
//set tab bar controller delegate to self
tabBarController.delegate = self;
// home view
HomeViewController *home = [[HomeViewController alloc] initWithTab];
// menu view
MenuViewController *menu = [[MenuViewController alloc] initWithTab];
// special offers view
SpecialOffersViewController *so = [[SpecialOffersViewController alloc] initWithTab];
// events view
EventsViewController *events = [[EventsViewController alloc] initWithTab];
// info view
InfoViewController *info = [[InfoViewController alloc] initWithTab];
//populate the tab bar controller with view controllers
NSArray *controllers = [NSArray arrayWithObjects:home, menu, so, events, info, nil];
tabBarController.viewControllers = controllers;
//release view controllers
[home release];
[menu release];
[so release];
[events release];
[info release];
[controllers release];
//add tab bar controller to view
[self.view addSubview:tabBarController.view];
[super viewDidLoad];
}
и вот бит из FirstViewController, который модально представляет MainViewController ...
MainViewController *controller = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
Я не получаю никаких ошибок или предупреждений компилятора, и приложение работает отлично ... без сбоев. Он просто не показывает проклятый TabBar, как это было раньше, когда я создавал его в своем AppDelegate. Я проверил все в своем NIB, и мои розетки, кажется, подключены нормально. Понятия не имею, что случилось. Помощь!