启动景观的应用程序下iOS6的同时支持所有方向
问题描述:
我已经做了一吨的研究和我仍然无法找到一个解决方案...启动景观的应用程序下iOS6的同时支持所有方向
我有一个支持所有方向的应用程序。当应用程序在iPad上运行时,我希望它在横向模式下启动。如果用户选择,用户可以旋转至肖像。在ios5下,我通过在info.plist文件中将iPad支持的方向设置为lansdcape左侧来实现此目标。然后,我在每个视图控制器中使用shouldAutorotateToInterfaceOrientation方法来允许应用程序运行时的所有方向。
然后,我改变了我的代码,以支持iOS6的新定位方法,但是当我在iPad上运行应用程序时,它根本没有旋转。然后,我更改了info.plist文件以支持iPad的所有方向。这解决了iPad不能自动旋转的问题,但现在我无法弄清楚如何强制应用程序最初以横向模式打开。有任何想法吗?
在此先感谢您的帮助!
答
我最近碰到类似的东西,虽然我的问题是我想强迫iPhone应用程序中的肖像,但允许电影播放横向。下面是我所做的:
属性添加到我的应用程序的委托来存储我想允许的方向:
@property (nonatomic, assign) NSUInteger supportedOrientations;
然后在应用程序的委托,实施了新的iOS 6的方法:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return supportedOrientations;
}
在应用程序启动我*肖像:
self.supportedOrientations = UIInterfaceOrientationMaskPortrait;
,然后一旦应用程序已经完成发射和我想我的显示根视图控制器,我将它设置为支持两个方向:
self.supportedOrientations = UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;
我不得不添加继承我的UINavigationController,以防止后旋转的额外步骤,因为我想,让景观视频,但不轮换:
- (BOOL)shouldAutorotate {
return FALSE;
}
但是,这只是信息。你不会需要那个
非常感谢!我认为这将工作得很好! – Glasswing