簡體   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