只允许一个视图控制器的所有方向

我知道这个问题已经在这里 , 这里和这里问了。 我尝试了所有可能的方法,但没有成功。

我试图在Swift(iOS 8)中开发一个应用程序,在这个应用程序中,只有一个视图控制器可以在所有方向上以只有肖像的方式被查看。

为此,我只在“目标” – >“常规” – >“设备方向”中启用了Portrait模式(因为除了一个视图控制器之外,我希望应用程序只能在纵向模式下操作)。

我已经添加了下面的代码到视图控制器,我想要在所有的方向进行操作:

 override func supportedInterfaceOrientations() -> Int { return Int(UIInterfaceOrientationMask.All.rawValue) } override func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation { return UIInterfaceOrientation.LandscapeLeft; } override func shouldAutorotate() -> Bool { return true; } 

但是不能以横向模式旋转。

请执行下列操作:

  • 在通用信息屏幕中启用所需的方向
  • 在每个ViewController.swift中,使用true或false 覆盖 autorotation函数(对于应该旋转的对象为true ,对其他对象为false

希望帮助:)

试试这个在你想要的所有方向的viewViewController中,在viewWillAppear:

  let value = UIInterfaceOrientationMask.All.rawValue UIDevice.currentDevice().setValue(value, forKey: "orientation") 

并且不要忘记在Target-> General-> Device Orientation中允许方向

试一试