Iphone 当设备旋转到横向时,如何打开新视图?

Iphone 当设备旋转到横向时,如何打开新视图?,iphone,orientation,rotation,landscape,portrait,Iphone,Orientation,Rotation,Landscape,Portrait,我有一个应用程序,它在纵向模式下集中在一堆ViewController上,但是在一个特定的细节视图上,如果设备旋转到横向模式,我需要打开另一个视图。 因此,用户将在肖像模式下查看信息视图,如果用户随后将设备旋转到景观模式,则会显示一个新视图,其中包含其他信息。如果用户旋转回纵向,则需要删除添加的视图,以便“原始”详细视图可见。 重要的是,不要将“原始”详细视图旋转为横向视图-仅在横向模式下打开新视图 我尝试过使用shouldAutorotateToInterfaceOrientation:并设法

我有一个应用程序,它在纵向模式下集中在一堆ViewController上,但是在一个特定的细节视图上,如果设备旋转到横向模式,我需要打开另一个视图。 因此,用户将在肖像模式下查看信息视图,如果用户随后将设备旋转到景观模式,则会显示一个新视图,其中包含其他信息。如果用户旋转回纵向,则需要删除添加的视图,以便“原始”详细视图可见。 重要的是,不要将“原始”详细视图旋转为横向视图-仅在横向模式下打开新视图

我尝试过使用shouldAutorotateToInterfaceOrientation:并设法让它打开一个viewController,但它没有显示在横向视图中,所以看起来很混乱,而且当我旋转回纵向模式时,我很难让视图消失


如何执行此操作?

使用视图控制器检查方向是否已更改,是否更改了方向方法,是否将其旋转为横向添加您的横向视图,以及当设备旋转为纵向时,从视图控制器的视图中删除视图

中应自动旋转指针平面方向

if(UIInterfaceOrientation == UIInterfaceOrientationPortrait){
NewView *newViewController = [[NewView alloc]initWithNib:@"NewView" bundle:nil];
[self.navigationController pushViewController:newViewController animated:NO];
}

您也可以对所有其他方向重复此操作。

使用shouldAutoRotate不起作用,因为打开的视图将以肖像模式而不是横向模式打开


我最终得到了一个使用BegingeratingDeviceOrientationNotifications的解决方案,并且应该在子视图中自动旋转。

无意冒犯,但这或多或少是我已经说过的我想要的。我需要知道的是我该如何做:)具体来说,我该如何确保我打开/显示的视图显示在景观中?那么你创建了景观视图了吗?我尝试了几种方法-Atm。我已经创建了一个常规的UIView,但它是以肖像模式显示的-我需要以横向模式显示它?如果您已经在nib中创建了视图,请单击左上角的小箭头,这将使视图旋转到横向。如果您已通过代码检查高度是否为320,宽度是否为480。视图是在代码中创建的,将宽度设置为480不会将其旋转到景观模式。它仍然以肖像模式显示-它只是宽度,因为我将宽度设置为480。我需要它正确地旋转到景观。这是我第一次尝试,但它不起作用-被推的视图将保持在肖像模式,而不是像我需要的那样旋转到景观模式。但是,经过长时间的胡闹,我找到了解决问题的方法。您需要在新类中设置-
(BOOL)shouldAutorotateToInterfaceOrientation: