0

我有一个应用程序,它以纵向模式围绕着一堆视图控制器,但是在特定的详细视图上,如果设备旋转到横向模式,我需要打开另一个视图。因此,用户将以纵向模式查看信息视图,如果用户随后将设备旋转到横向模式,则会显示一个带有附加信息的新视图。如果用户旋转回纵向,则需要删除添加的视图,以便“原始”详细视图可见。重要的是“原始”详细视图不旋转为横向 - 仅在横向模式下打开新视图。

我试过使用 shouldAutorotateToInterfaceOrientation: 并设法让它打开一个 viewController,但它没有显示在横向视图中,所以它看起来一团糟,而且当我旋转回纵向模式时,我在让视图消失时遇到了一些麻烦。

我该怎么做呢?

4

3 回答 3

0

检查方向是否已经改变,使用视图控制器确实改变了方向方法,如果它旋转到横向添加你的横向视图,当设备旋转到纵向时,从视图控制器的视图中删除视图。

于 2011-03-01T10:34:31.423 回答
0

shouldAutorotateToInterfaceOrientation

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

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

于 2011-03-01T17:08:33.510 回答
0

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

我最终得到了一个在子视图中使用 beginGeneratingDeviceOrientationNotifications 和 shouldAutoRotate 的解决方案。

于 2011-03-02T09:49:58.430 回答