Паварот інтэрфейсу з UITabBarController

Я стварыў новы праект «Tab Bar» з новым 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!

Вы ведаеце, чаму? дзякуй

1
Гэта свайго роду незвычайныя, што ваш тры класа прадстаўлення кантролера называецца gemboy_iphone, concerti_iphone і discografia_iphone, але яны знаходзяцца ў файлах vc1.m, vc2.m і vc3.m вы кажаце. Вы ўпэўненыя, што гэта правільна? XCode не будзе знайсці гэтыя файлы толькі таму, што іх імёны падобныя на імя кончыка пяра. Гэта будзе, калі яны сапраўды ўтрымліваюць тыя класы, і вы ўсталявалі тып ўладальніка файла ў наканечніках для гэтых класаў.
дададзена аўтар morningstar, крыніца

1 адказы

Вы абсалютна не падклас UITabBarController, не павінен.

Кантролер панэлі ўкладак будзе аўтаматычна круціцца вельмі добра, калі ўсе яго прагляд кантролераў рэалізацыі shouldAutorotateToInterfaceOrientation і вярнуць YES для адных і тых жа кірункаў.

Калі вы ствараеце новы праект у Xcode 4.2 з шаблонам ўкладак прыкладання, вы ўбачыце, што яна аўтаматычна круціцца нармальна.

2
дададзена