我想用 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:
我现在有这个工作。我现在面临的问题是,尽管我的一个视图控制器说明了这一点,但它仍然会在 iPhone 模拟器上进行任何旋转时旋转:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
编辑 3:我的手机正在运行 iOS5。模拟器运行iOS6。这是一个可能的原因。删除横向左和横向右作为支持的方向意味着根本没有模拟器旋转,但我的 iOS5 iPhone 4 继续正常旋转。