2016-11-26 109 views
0

我試圖創建一個僅支持縱向的應用程序,我已經試過在目標設置 - >通用 - >部署信息 - >肖像Swift 3 - 如何鎖定iOS應用程序的方向?

然後,在appDelegate.swift

override func shouldAutorotate() -> Bool { 
     return false 
    } 

AT ViewController.swift

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
     return [UIInterfaceOrientationMask.Portrait ] 
    } 

但它不工作..在ViewController.swift,它給我錯誤

方法不自其超

+0

選擇一個目標,並找到下Deplayment信息設備的方向。 –

+0

您是否已取消選中部署信息中除肖像以外的所有其他方向? –

+0

是的,我做過了,我甚至在info.plist - >支持的界面方向上清除了風景 –

回答

1

它是一個簡單的代碼直接複製覆蓋任何方法和粘貼的ViewController下面的代碼要修理方向。

override func shouldAutorotate() -> Bool { 
    return false 
} 

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
    return UIInterfaceOrientationMask.Portrait 
} 

這工作當且僅當所有的代碼是在視圖控制器,無需改變任何東西或放在AppDelegate的東西。乾杯

0

在雨燕3.1

如果你想在所有屏幕的鎖定方向。請參閱https://freakycoder.com/ios-notes-5-how-to-application-orientation-abba750bed6e

打開AppDelegate.swift,並添加此代碼。

// Lock the orientation to Portrait mode 
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { 
    return UIInterfaceOrientationMask(rawValue: UIInterfaceOrientationMask.portrait.rawValue) 
} 

// Lock the orientation to Landscape(Horizontal) mode 
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { 
    return UIInterfaceOrientationMask(rawValue: UIInterfaceOrientationMask.landscape.rawValue) 
} 
相關問題