I'm trying to prevent rotation on one UIViewController
and I can't achieve that.
I'm doing something like this:
open override var shouldAutorotate: Bool { get { return false } } override var supportedInterfaceOrientations: UIInterfaceOrientationMask { get { return .portrait } }
And the UIViewControler
stills rotating. The UIViewController is inside a UINavigationController opened modally.
I have looked a lot of questions from here and none answers works for me.
In Swift 2 I used to override shouldAutorotate
but in Swift 3 that function doesn't exist anymore.
How can I do that in Swift 3 what I used to do in Swift 2?
I don't know why is a vote to close the question if I can reproduce this behavior a lots of times. The UIViewController
is inside a UINavigationController
opened modally.
This is what I did to solve the problem.
I create this class and I set to the UINavigationController
that containt the UIViewController
that I want to prevent to rotate
class NavigationController: UINavigationController { override var shouldAutorotate: Bool { return false } override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .portrait } }
And thats it, it works for me
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With