我有一个应用程序,它聚焦在肖像模式下的一堆viewControllers上,但在特定的细节视图上,如果设备旋转到横向模式,我需要打开另一个视图。因此,用户将在肖像模式下查看信息视图,如果用户随后将设备旋转到景观模式,则会显示具有附加信息的新视图。如果用户旋转回肖像,则需要删除添加的视图,以便“原始”细节视图可见。重要的是,“原始”细节视图不能旋转为横向视图--只需在横向模式下打开一个新视图。
我试过使用shouldAutorotateToInterfaceOrientation:并设法让它打开了一个viewController,但它不能在横向视图中显示,所以看起来一团糟,而且当我旋转回肖像模式时,我很难让视图消失。
我该怎么做呢?
发布于 2011-03-02 09:49:58
使用shouldAutoRotate不起作用,因为打开的视图将以肖像模式打开,而不是以横向模式打开。
我最终在子视图中使用了beginGeneratingDeviceOrientationNotifications和shouldAutoRotate作为解决方案。
发布于 2011-03-01 10:34:31
使用视图控制器更改方向方法检查方向是否已更改,以及是否将其旋转为横向添加您的横向视图,以及当设备旋转为纵向时,将视图从视图控制器的视图中移除。
发布于 2011-03-01 17:08:34
在shouldAutorotateToInterfaceOrientation
中
if(UIInterfaceOrientation == UIInterfaceOrientationPortrait){
NewView *newViewController = [[NewView alloc]initWithNib:@"NewView" bundle:nil];
[self.navigationController pushViewController:newViewController animated:NO];
}
您也可以对所有其他方向重复此操作。
https://stackoverflow.com/questions/5153206
复制相似问题