Я хочу протестировать свое приложение с разрешением iPhone 5, поэтому использую симулятор. В моем приложении есть портретная и 2 альбомной ориентации в поддерживаемых ориентациях устройств, а для viewControllers, которые разрешают вращение, shouldAutorotateToInterfaceOrientation
установлено значение YES. Тем не менее, когда я вращаю устройство в симуляторе, оно не вращается, как на устройстве. Прямо сейчас я использую стандартный симулятор iPhone 4.
Изменить: это код, который у меня есть для настройки моего VC.
UIViewController *vc = [[UIViewController alloc] init];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:vc];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];
[self.window addSubview:self.navigationController.view];
self.loadingWood = [[UIImageView alloc] init];
[vc.view addSubview:self.loadingWood];
А вскоре после этого:
self.timeline = [[JTimelineViewController alloc] init];
[self.navigationController setViewControllers:[NSArray arrayWithObject:self.timeline]];
Это необходимо для визуализации при запуске приложения.
РЕДАКТИРОВАТЬ 2:
Теперь у меня это работает. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что, несмотря на то, что один из моих viewController заявляет об этом, он все еще вращается при любом повороте в симуляторе iPhone:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
РЕДАКТИРОВАТЬ 3: Мой телефон работает под управлением iOS5. Симулятор работает под управлением iOS6. Это возможная причина. Удаление «Пейзаж слева» и «Пейзаж справа» в качестве поддерживаемых ориентаций означает, что симулятор не вращается вообще, но мой iPhone 4 с iOS5 продолжает вращаться как обычно.