繁体   English   中英

横向iOS 9的初始界面定位

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM