的iPad - 横向不工作在iPad,但在模拟器工作
问题描述:
我们使用下面的代码来对齐屏幕的横向模式的iPad - 横向不工作在iPad,但在模拟器工作
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
它显示为5.1模拟器预期(横向),但显示在人像模式
在iPad中。 Pl建议
答
这可能是Filip引用的问题。
但是,我注意到的另一个问题是,真正的硬件 - 即使没有涉及iOS 6 - 也是如此,排序略有不同。
如果在视图控制器完全处理完自己的旋转之后,模态视图控制器将以纵向模式显示。第一个视图控制器没有完全处理自己的旋转,直到处理事件为止。换句话说,如果您试图在视图控制器(例如viewWillAppear
)中的早期事件中呈现模态视图控制器,它将始终以纵向模式显示。
要解决这个问题,而不是立即呈现视图控制器,只需使用一个块将其安排到主循环。
更改调用视图控制器的线,这可能会是这个样子:
[self performSegueWithIdentifier: @"firstRun" sender: self];
要:
dispatch_async(dispatch_get_main_queue(), ^{
[self performSegueWithIdentifier: @"firstRun" sender: self];
});
如果你使用另一种方法来呈现新的视图控制器,尝试使用相同的方法:将它包含在dispatch_async
中以便于主队列,以便稍后完成。
你的iPad在iOS 6.0上有任何机会吗?或者它的旋转锁定? (做其他应用程序旋转?) –
Filip。你是对的。它的iPad 6.0。 Aint 6.0应该支持在5.1上运行的功能吗? Pl建议 –
这是一个模态屏幕,它的父母仍在创建并呈现(即在'viewWillAppear'或'viewDidAppear')时呈现吗? –