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