Дано: два контроллера, главный и дочерний. Главный всегда должен сохранять портретную ориентацию, а дочерний должен поворачиваться при повороте телефоне. Так же дочерний контроллер должен быть полупрозрачным.
FirstViewController.swift
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .portrait
}
override var shouldAutorotate: Bool {
return false
}
SecondViewController.swift
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .allButUpsideDown
}
override var shouldAutorotate: Bool {
return true
}
Открытие дочернего контроллера:
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
secondViewController.modalPresentationStyle = .custom
self.present(secondViewController, animated: true, completion: nil)
Проблема в том что при открытии дочернего контроллера и при повороте экрана так же поворачивается главный контроллер.
Тестовый проект:
https://github.com/sieroshtan/RotationTest