I reviewed all the answers in the English language, but I did not find anything suitable, unfortunately. By default, only Portrait mode is enabled in the project settings. You need not the main screen, and the other one screen to allow access to the vertical view. Ie he should support both Landscape mode and Portrait mode. Be sure to swift 3. Thank you.

    1 answer 1

    In Info.plist portrait and landscape orientation, and in the desired controllers block the rotation:

     override var supportedInterfaceOrientations: UIInterfaceOrientationMask { get { return .portrait } } 

    If in Info.plist set only portrait, and in the controller, register, for example, all orientations

     override var supportedInterfaceOrientations: UIInterfaceOrientationMask { get { return .all } } 

    it won't turn around anyway.

    • I wrote 4 orientations (top, left right, bottom) in info.plist. Then put override var supportedInterfaceOrientations: UIInterfaceOrientationMask {get {return .portrait}} in NavigationController (set to others without navigator does not work). And all the screens that go from it in the hierarchy of all portrait. And I need to install .all from this hierarchy at the last screen. Not yet. - Kerim Khasbulatov
    • Can the last screen separately NavigationController create? so for sure? and the transition program to register? - Kerim Khasbulatov