2014-10-03 25 views
3

我有一个iOS8应用程序,我需要在玩游戏时支持所有方向,但在菜单中只有肖像。我希望应用只能使用肖像图片启动,因此它与肖像菜单相匹配。我遇到的问题是,我在Info.plist文件中设置“UISupportedInterfaceOrientations”支持所有的方向,因为我需要他们所有的主要游戏。这显然导致我的应用程序在横向模式下启动,如果设备横向,我不想要。我曾尝试将info.pList文件中的值设置为纵向,但这会导致横向模式完全停止工作。支持所有方向的应用程序的力启动方向

有没有办法允许在info.plist文件中的所有方向,但强制启动图像只有肖像?或者允许我的代码中的所有方向,但只指定info.pList文件中的纵向值?

+0

好答案在这里:http://stackoverflow.com/questions/25606442/how -to-锁定人像方向换只 - 主 - 视图 - 使用 - 迅速 – 2014-10-03 05:05:05

回答

4

您应该使用适用于iOS 8的“启动屏幕文件”(可在xCode 6+中使用)。然后根据需要对启动文件应用约束(您可以根据需要为故事构建器中的启动xib指定方向)。即使您希望用于以前的版本,也可以创建单独的启动画面并在故事生成器中设置其方向属性。

0

您可以定义与父视图控制器:

- (BOOL)shouldAutorotate { 
    return YES; 
} 

- (NSUInteger)supportedInterfaceOrientations{ 
    return UIInterfaceOrientationMaskPortrait; 
} 

并与您的旋转视图控制器:我也遇到过这个问题

- (BOOL)shouldAutorotate { 
    return YES; 
} 


- (NSUInteger)supportedInterfaceOrientations{ 
    return UIInterfaceOrientationMaskAll; 
} 
1

,发现从苹果本身就是一个很好的解决方案:

https://developer.apple.com/library/ios/technotes/tn2244/_index.html#//apple_ref/doc/uid/DTS40009012-CH1-ALLOWING_YOUR_APP_TO_ROTATE_INTO_PORTRAIT_ORIENTATION_AFTER_LAUNCH

它对车CK上的所需发射方向在info.plist中,然后实现在此的appdelegate委托方法来覆盖发射后支撑取向:

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask { 
    return .AllButUpsideDown 
} 
相关问题