[英]Upside down orientation doesn't work when set in Info.plist file
在我的Info.plist文件中,我將“ Supported Interface orientations
設置為4種提供的可能性,包括“ Portrait (top home button)
。
當我運行我的應用程序時,將設備上下顛倒時什么也沒有發生。 對於景觀來說很好。
如果在.plist
文件中,我僅選擇Portrait (bottom home button)
則只有正常的portrait有效(這很有意義),然后證明.plist
文件有效。
如果在我的UIViewController
之一中,我像這樣重寫了supportedInterfaceOrientations
:
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.All.rawValue)
}
然后它起作用(僅適用於此UIViewController
)。
那么,為什么如我在Info.plist
指定的那樣,無法將我的應用顛倒地運行在Portrait中? 如果忽略它,那么在文件中選擇它又有什么意義呢?
從文檔 :
設置應用程序的應用程序支持的界面方向的最簡單方法是編輯項目的Info.plist文件。 與視圖控制器一樣,您可以定義四個界面方向中的哪一個。 有關更多信息,請參見信息屬性列表鍵參考。
如果您限制應用程序支持的方向,則這些限制將全局性地應用於所有應用程序的視圖控制器,即使您的應用程序使用系統視圖控制器也是如此。 在任何給定時間,將最頂層視圖控制器的遮罩與應用的遮罩進行邏輯與運算,以確定允許的方向。 此計算的結果永遠不能為0。如果為0,則系統將引發UIApplicationInvalidInterfaceOrientationException異常。
因此,必須由應用程序和視圖控制器允許定向發生。
將此代碼添加到控制器
- (NSUInteger) supportedInterfaceOrientations {
return [super supportedInterfaceOrientations] | UIInterfaceOrientationMaskPortraitUpsideDown;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.