我需要我的iphone应用程序的所有视图都处于纵向模式,除了一个。
我有一个列表视图控制器(视图1),单击时显示详细视图(视图2) 在详细视图中,我有一个触发模态segue的按钮,该按钮应在横向模式下显示视图(视图3)。
在XCode中,我为视图1和2设置了纵向,我为视图3设置了横向。
当应用程序启动时,视图1以纵向模式显示,但是当我更改方向时,它会切换到横向,我需要它保持纵向。
当我点击查看2的按钮时,视图3以纵向模式显示(这是我唯一需要在横向模式下显示的模式)。
视图1和2有:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
观看3有:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}
视图1和视图2总是以纵向显示缺少配置,视图3总是以横向显示?
修改
我最终只是以纵向方式离开了应用程序方向,并使用通知事件来旋转我需要在横向中显示的视图。这样做非常好。
答案 0 :(得分:1)
如果您在iOS 6下运行,则不推荐使用shouldAutorotateToInterfaceOrientation
。您应该使用supportedInterfaceOrientationsForWindow:
和shouldAutorotate
方法。
查看UIKit标题下的iOS 6发行说明here。
答案 1 :(得分:0)
supportedInterfaceOrientations
UIViewController
您要为iOS6而不是shouldAutorotateToInterfaceOrientation
实施。{/ p>