我知道here,here和here已经提出了这个问题。我尝试了所有可能的方法,但没有成功。
我正在尝试在Swift(iOS 8)中开发一个应用程序,其中只有一个视图控制器可以在所有方向上查看,其他只在纵向中查看。
为此,我在Target-> General-> Device Orientation中仅启用了Portrait
模式(因为我希望应用程序仅在纵向模式下运行,但一个视图控制器除外)。
我已将以下代码添加到我想要在所有方向上操作的视图控制器中:
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.All.rawValue)
}
override func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation {
return UIInterfaceOrientation.LandscapeLeft;
}
override func shouldAutorotate() -> Bool {
return true;
}
但无法在横向模式下旋转它。
答案 0 :(得分:3)
执行以下操作:
ViewController
中,用true或false覆盖自转旋转功能
(true
表示应该轮播的false
表示其他人:
override var shouldAutorotate: Bool {
return true
}
希望有所帮助:)
答案 1 :(得分:0)
在你想要的所有方向的相关viewController中尝试这个,在viewWillAppear中:
let value = UIInterfaceOrientationMask.All.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
并且不要忘记在Target-> General->设备方向中允许方向
试一试