Я создал новый «Проект панели вкладок» с новым Xcode 4.2.«Новый» способ работы с UITabBar отличается: XCode не создает XIB-файл (с помощью UITabBarController), но делает все с помощью кода.Хорошо, давайте сделаем это.
Итак, мой код в didFinishLaunchingWithOptions
такой:
UIViewController *viewController1, *viewController2, *viewController3;
UINavigationController *nav1, *nav2, *nav3;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
viewController1 = [[gemboy_iphone alloc] initWithNibName:@"vc1" bundle:nil];
viewController2 = [[concerti_iphone alloc] initWithNibName:@"vc2" bundle:nil];
viewController3 = [[discografia_iphone alloc] initWithNibName:@"vc3" bundle:nil];
nav1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
nav2 = [[UINavigationController alloc] initWithRootViewController:viewController2];
nav3 = [[UINavigationController alloc] initWithRootViewController:viewController3];
}
else {
//same thing for the iPad version
}
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav1, nav2, nav3, nil];
self.window.rootViewController = self.tabBarController;
[self.window addSubview:self.splash.view];
[self.window makeKeyAndVisible];
return YES;
И это работает.
Мои три файла .m vc1.m,vc2.m и vc3.m (а также мой iPad UIViewControllers) имеют этот метод
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
Проблема заключается в том, что при вращении iPhone он поворачивает только строку состояния, а не TabBarController!
Знаете почему?Спасибо