How do I disable landscape-orientation on an iPad app?
I created a completely new, single-view iOS universal Swift app. Then, I unchecked "Landscape Left" and "Landscape Right" in the app settings. I ran it on my iPhone, and hooray, it stays in portrait mode no matter how I rotate my phone. Then I ran it on my iPad, and it rotates to anything. Even upside-down portrait mode, which wasn't enabled in the first place? Am I the only experiencing this? This happens in the iPad simulator as well when I rotate with command+arrow key.
I also tried adding the following to ViewController.swift, and got the same result.
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.Portrait
}
Is there no way to actually disable rotating away from portrait on iPad?
Its work perfectly. Dont need to write code for it.
First select project and then go in first tab "General".
Now select "Devices" option in Deployment info section is iPad and in that down select Device orientation .. In which remove checkmark from landscape Left, Right option
After done select it back device as universal and set device orientation as portrait..mode and remove check mark from landscape mode.
Now run your app in iPad and check that things. I hope it will be resolved.
There are separate entries in Info.plist for iPhone and iPad supported orientations.
- iPhone = UISupportedInterfaceOrientations
- iPad = UISupportedInterfaceOrientations~ipad
You need to modify Info.plist and remove landscape entries for UISupportedInterfaceOrientations~ipad key.
Works for me!
Open info.plist
as source code, you will see these properties:
-
UISupportedInterfaceOrientations
: For iPhone -
UISupportedInterfaceOrientations~ipad
: For iPad
Under UISupportedInterfaceOrientations~ipad
remove your unwanted orientation mode. In my case, I want only Portrait Mode so I removed the rest modes and then save it.
Done! Good Luck