“支持界面定位”是否有先例?

我正在开发一个应用程序,我想要一个屏幕自动旋转到风景。

这将是应用程序中唯一的旋转屏幕。

我试图find这样做的最简单的方法。

如果我在构build摘要页面中(即使用切换button)设置支持的方向,那么它就是肖像。 那么我可以覆盖这个在我想要自动旋转屏幕的代码?

或者我必须反过来呢? 即支持所有的方向,然后禁用所有屏幕,我不想旋转?

谢谢

或者我必须反过来呢? 即支持所有的方向,然后禁用所有屏幕,我不想旋转?

是。 您必须列出Info.plist中您将支持的所有方向。 然后用supportedInterfaceOrientations限制特定的视图控制器方向。 必须呈现您的一个横向视图控制器,即使用“模式”segue或调用presentViewController:animated:

我的答案可能是有用的:

https://stackoverflow.com/a/13755923/341994

和我的答案在这里:

https://stackoverflow.com/a/15301322/341994

将观察者添加到要旋转的视图的viewDidLoad方法中,如下所示:

 [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:[UIDevice currentDevice]]; 

然后根据你想在orientationChanged方法里面改变的视图设置视图如下:

 - (void) orientationChanged:(NSNotification *)note{ UIDevice * device = [UIDevice currentDevice]; switch(device.orientation) { case UIDeviceOrientationPortrait: break; case UIDeviceOrientationPortraitUpsideDown: break; case UIDeviceOrientationLandscapeLeft: break; case UIDeviceOrientationLandscapeRight: break; default: break; }; } 

在iOS 6中,应用程序支持的方向(在Info.plist声明)与顶部视图控制器支持的方向进行“与”操作,所以为了实现您想要的,您需要声明Info.plist每个方向的支持,然后覆盖视图控制器中不需要旋转的supportedOrientations:方法,例如:

 - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; }