在我的应用中,我想更改设备方向。
我已经尝试了另一个主题相同的问题:
let value = UIInterfaceOrientation.landscapeRight.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
但是,这似乎仅在已经允许了方向的情况下起作用,以便用户可以通过旋转设备来更改它,并且还可以通过动画来更改方向。但是我希望我的应用在VC1中只有一种方向,而在VC2中只有一种方向。用户不应影响方向,也不应有动画。这可能吗?
对不起,我英语不好。...
答案 0 :(得分:0)
对于每个VC,请声明此变量w /所需的方向。这是肖像画。
override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .portrait }
然后在外观上强制执行所需的方向。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UIView.setAnimationsEnabled(false)
UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
UIView.setAnimationsEnabled(true)
}