iOS Swift UIViewController Вращение - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть UITabViewController с тремя вкладками.На одной из вкладок пользователь нажимает кнопку, и появляется новый контроллер UIViewController в ландшафтном режиме (чтобы пользователь мог подписать свое имя, используя свой палец).После того, как пользователь закончил, он нажимает кнопку Готово и вызывается метод finish (), который закрывает подписывающий UIViewController.

Проблема, с которой я сталкиваюсь, заключается в том, что экран, на который пользователь возвращается, который был в портретном режиме, теперь находится вПейзажный режим, даже если на экране установлено:

override var supportedInterfaceOrientations: UIInterfaceOrientationMask{
    return .portrait
}

override var shouldAutorotate: Bool {
    return true
}

, и я ничего не могу сделать, чтобы принудительно повернуть его в портретное положение.Я прочитал сообщения, такие как: Как заставить устройство вращаться в Swift? и, насколько я понимаю, я ничего не могу сделать, чтобы повернуть экран обратно в портрет?

1 Ответ

0 голосов
/ 03 декабря 2018

Это действительно просто.Напишите следующий код и измените значение ориентации в ViewControllers, которые вы хотите программно вращать.

override func viewWillAppear(_ animated: Bool) {
        let value = UIInterfaceOrientation.portrait.rawValue //Change orientation according to your scenario
        UIDevice.current.setValue(value, forKey: "orientation")
    }
...