Ios 如何在Swift中以编程方式更改设备方向?

Ios 如何在Swift中以编程方式更改设备方向?,ios,swift,orientation,Ios,Swift,Orientation,在我的应用程序中,我想更改设备方向 我在另一个问题中也试过同样的话题: let value = UIInterfaceOrientation.landscapeRight.rawValue UIDevice.current.setValue(value, forKey: "orientation") 但这似乎只有在已经允许方向的情况下才起作用,这样用户就可以通过旋转设备来更改方向,并且还可以通过动画来更改方向。但我希望我的应用程序在VC1中只有一个方向,在VC2中只有一个方向。用户不应该影响方

在我的应用程序中,我想更改设备方向

我在另一个问题中也试过同样的话题:

let value = UIInterfaceOrientation.landscapeRight.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
但这似乎只有在已经允许方向的情况下才起作用,这样用户就可以通过旋转设备来更改方向,并且还可以通过动画来更改方向。但我希望我的应用程序在VC1中只有一个方向,在VC2中只有一个方向。用户不应该影响方向,也不应该有动画。这可能吗


对不起,我的英语不好……

对于每个VC,声明此变量w/所需方向。这是写真的

override var supportedInterfaceOrientationMask{return.grait}
然后在外观上强制执行所需的方向

覆盖函数视图显示(uu动画:Bool){
super.viewdide显示(动画)
UIView.SetAnimationEnabled(错误)
UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue,forKey:“方向”)
UIView.SetAnimationEnabled(真)
}

我很高兴,我在任何地方都使用它。但我还有一个问题。如何在故事板中设计ViewController?因为,你可以只拥有一个方向的ViewController,我想…我不知道如何从故事板强制方向锁定。但是你可以将VC子类化,然后你在故事板上创建的任何VC都必须继承正确的方向锁。