如何将用户界面方向应用于iOS故事板场景

时间:2017-07-28 01:20:12

标签: ios iphone xcode-storyboard

我正在开发一个允许某人玩两种不同游戏之一的iOS应用程序。

两场比赛均以一轮比赛进行。当玩家完成一轮时,应用程序将转换为显示结果的新场景,然后转换到另一个圆形场景或结束游戏场景。

由于应用程序中场景的瞬态特性,在更传统的应用程序中保留场景是没有意义的,因为有些人可以返回到前一个场景。

为此,大多数场景导航都是通过使用UINavigationViewController来完成的,只需调用setViewControllers(animated:)提供一个仅包含UIViewController的数组用于下一个场景,这样做效果很好

我提到该应用程序将允许某人玩两个游戏中的一个。事实证明,在iPhone上,一个游戏最好以肖像模式播放,而另一个游戏最适合在横向模式下播放。我希望能够控制特定UIViewController处于活动状态时使用的用户界面方向。

我已经尝试使用supportedInterfaceOrientations的{​​{1}}属性和UINavigationController application(_ application: supportedInterfaceOrientationsFor window:),并且能够为标准应用程序提供服务。但是,当我尝试使用UIApplicationDelegate将游戏应用程序的方式应用于游戏应用程序的方式时,似乎没有任何与应用所需用户界面方向相关的方法被调用,并且所有场景都以相同的方向显示。

人们对如何让我的应用程序中的场景以特定的用户界面方向显示有什么建议?

1 个答案:

答案 0 :(得分:0)

尝试让您呈现的视图控制器调用以下方法,它将显示视图,或者视图确实显示:

class func attemptRotationToDeviceOrientation()
  

某些视图控制器可能希望使用特定于应用程序的条件   确定支持哪些接口方向。如果你的观点   控制器这样做,当这些条件改变时,你的应用程序应该   调用这个类方法。系统立即尝试旋转到   新方向。

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621400-attemptrotationtodeviceorientati