以编程方式更改iOS App的方向

时间:2020-09-13 09:20:04

标签: ios swift autolayout

如何在发生某些事情时以编程方式更改我的iOS应用程序的方向,例如,当我按下一个按钮时,我需要让我的设备进入横向状态,然后在下次单击时返回纵向。我尝试了这段代码,但没有任何反应

        let value = UIInterfaceOrientation.landscapeRight.rawValue
        UIDevice.current.setValue(value, forKey: "orientation")

任何人都可以帮我吗!

1 个答案:

答案 0 :(得分:0)

您可以将以下代码添加到@IBAction或您希望处理按钮按下的方式中

  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    UIView.setAnimationsEnabled(false)
    UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
    UIView.setAnimationsEnabled(true)
  }

此处为完整解决方案https://stackoverflow.com/a/50939184/9065909