我正在開發一個iOS應用程序,允許某人玩兩種不同的遊戲中的一種。如何將用戶界面方向應用到iOS故事板場景
兩場比賽都是在一輪比賽中進行。當玩家完成一輪時,應用程序轉換到顯示結果的新場景,然後轉換到另一輪場景或結束遊戲場景。
由於應用程序中場景的瞬時特性,因此在更傳統的應用程序中保持場景是沒有意義的,在這種應用程序中某些人可以返回到前一個場景。
爲此,大多數場景漫遊是通過使用UINavigationViewController
和簡單的調用setViewControllers(animated:)
僅提供包含UIViewController
下一個場景中的陣列來完成,而這工作得很好。
我提到應用程序將允許某人玩兩個遊戲之一。事實證明,在iPhone上,一個遊戲最好以縱向模式播放,另一個遊戲最好以橫向模式播放。我希望能夠控制在某個特定的UIViewController
處於活動狀態時使用的用戶界面方向。
我已經嘗試使用UINavigationController
和application(_ application: supportedInterfaceOrientationsFor window:)
爲UIApplicationDelegate
的supportedInterfaceOrientations
財產,並已能夠把事情爲標準的應用程序。但是,當我嘗試使用setViewControllers(animated:)
來應用我的遊戲應用程序的工作方式時,沒有涉及應用所需用戶界面方向的方法似乎被調用,並且所有場景都顯示爲相同的方向。
對於我如何在應用程序中使用特定用戶界面方向顯示場景,人們有什麼建議?
這很有趣。我添加了一個對UIViewController的調用。每個視圖控制器的viewDidAppear方法中的attemptRotationToDeviceOrientation。事實證明,每當發生這種情況時,每個視圖控制器的supportedInterfaceOrientations屬性都是訪問權限。每個需要特殊方向的視圖控制器都會返回所需的方向,但看起來沒有效果。這些觀點仍然以相同的方向出現。 –
如果將UINavigationController從僅使用setViewControllers(,animated:true)更改爲使用空的UIViewController數組調用setViewControllers(,animated:true),然後調用pushViewController(,animated:true),那麼supportedInterfaceOrientations屬性僅獲取訪問權限: 。這種動畫效果不佳,使用它並不能最終解決問題 –