[英]Initial Interface Orientation to Landscape iOS 9
技术说明TN2244:在横向状态下启动iPhone应用程序 :
UISupportedInterfaceOrientations键的值确定应用程序启动时状态栏的位置。 在iOS 7及更低版本中,如果存在UIInterfaceOrientationPortrait值,则状态栏将始终定位为纵向。 否则,状态栏将根据UISupportedInterfaceOrientations键下显示的第一个方向定位。
因此,在iOS 8的这是完全正常的把UIInterfaceOrientationLandscape
先在UISupportedInterfaceOrientations
列表让自己的应用在园林开始。
它在iOS 9中不再起作用。在列表中的任何位置UIInterfaceOrientationPortrait
强制app在Portrait中启动。
题
有没有已知的解决方法? 我需要我的应用程序从Landscape开始。
注意:使用viewControllers的supportedInterfaceOrientations()
方法不是一个选项,因为它在呈现LaunchScreen后生效。
任何位置的列表中都有UIInterfaceOrientationPortrait,强制app在Portrait中启动。
这是绝对正确的 - 非常好的侦探工作。 我花了很多实验来解决这个问题! 这肯定是iOS 8的巨大变化。您已经很好地总结了这种情况。
幸运的是,解决方法很简单。 在Info.plist中 ,仅包含两个横向方向。 现在,该应用程序将首先启动到任何一个。
现在实现application:supportedInterfaceOrientationsForWindow:
在app委托中返回All。 这样,当显示纵向视图控制器的时候,这样做是合法的。
换句话说,将Info.plist视为启动应用程序需要知道的内容,以及application:supportedInterfaceOrientationsForWindow:
正如正在运行的应用程序需要知道的那样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.