I want to create an application that doesn't use Portrait mode.
I am not sure if I need to edit the plist or have code in addition to the plist
The screen on your iPad can rotate so that you can see apps like Safari and Messages in portrait or landscape mode.
The screen on your iPhone and iPod touch can rotate so that you can see apps — like Safari and Messages — in portrait or landscape mode.
Only the iPhone 6 Plus, 6S Plus, 7 Plus, and 8 Plus can rotate their Home Screens. There's thus no possibility of a landscape Home Screen on iPhone X or later, likely due to the Face ID camera position.
Code found here
Launching in Landscape Mode
Applications in iPhone OS normally launch in portrait mode to match the orientation of the Home screen. If you have an application that runs in both portrait and landscape modes, your application should always launch in portrait mode initially and then let its view controllers rotate the interface as needed based on the device’s orientation. If your application runs in landscape mode only, however, you must perform the following steps to make it launch in a landscape orientation initially.
In your application’s Info.plist file, add the
UIInterfaceOrientation
key and set its value to the
landscape mode. For landscape
orientations, you can set the value
of this key toUIInterfaceOrientationLandscapeLeft
orUIInterfaceOrientationLandscapeRight.
Lay out your views in landscape mode and make sure that their autoresizing options are set correctly.
Override your view controller’s
shouldAutorotateToInterfaceOrientation:
method and return YES only for the
desired landscape orientation and NO
for portrait orientations.
To make your app landscape mode only, you should use "Supported Interface Orientations". (Targets -> YourApp -> Supported Interface Orientations -> Landscape Left & Right
)
You should also set the app's orientation in your app's Info.plist
file () by appending the Supported interface orientations
key with the values Landscape (left home button)
and Landscape (right home button)
.
You may use willRotateToInterfaceOrientation
and/or didRotateFromInterfaceOrientation
to handle orientation changes.
shouldAutorotateToInterfaceOrientation
is deprecated from iOS 6 and out.
Returning UIDeviceOrientationLandscapeLeft/Right
for shouldAutorotateToInterfaceOrientation
should make your app "landscape":
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight); }
Also may also change your app's Info.plist
and View Orientation
(as explained above).
Additionally, I recommend changing your view's orientation to Landscape
in the Attributes Inspector.
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