“支持界面定位”是否有先例?
我正在开发一个应用程序,我想要一个屏幕自动旋转到风景。
这将是应用程序中唯一的旋转屏幕。
我试图find这样做的最简单的方法。
如果我在构build摘要页面中(即使用切换button)设置支持的方向,那么它就是肖像。 那么我可以覆盖这个在我想要自动旋转屏幕的代码?
或者我必须反过来呢? 即支持所有的方向,然后禁用所有屏幕,我不想旋转?
谢谢
或者我必须反过来呢? 即支持所有的方向,然后禁用所有屏幕,我不想旋转?
是。 您必须列出Info.plist中您将支持的所有方向。 然后用supportedInterfaceOrientations
限制特定的视图控制器方向。 必须呈现您的一个横向视图控制器,即使用“模式”segue或调用presentViewController:animated:
我的答案可能是有用的:
https://stackoverflow.com/a/13755923/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; }