Я думаю, что ссылка, указанная выше @oaccamsrazer, вам нужна. Чтобы помочь, я реализовал небольшой пример проекта. Вы можете увидеть этот проект: ЗДЕСЬ (здесь: https://github.com/stevencurtis/RotateViews)
Существует два контроллера представления, связанных последовательностью (и оба заключены в UINavigationController).
В AppDelegate вам необходимо следующее:
var restrictRotation:UIInterfaceOrientationMask = .all
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask
{
return self.restrictRotation
}
И viewWillAppear (поскольку он вызывается при прохождении через стек, поэтому лучше, чем при использовании viewDidLoad), мы
override func viewWillAppear(_ animated: Bool) {
(UIApplication.shared.delegate as! AppDelegate).restrictRotation = .all
}
Второй вид НЕ будет вращаться. Это просто есть метка.
в viewDidLoad (вы также можете использовать viewWillAppear)
override func viewDidLoad() {
super.viewDidLoad()
(UIApplication.shared.delegate as! AppDelegate).restrictRotation = .portrait
}
Использование раскадровки или кода не имеет значения, реализация будет такой же.