You can control the screen orientation of your application on iOS devices. By detecting a change in orientation or forcing a specific orientation, you can create app behaviors that depend on how the user holds the device. The same APIs also apply to Android devices.
To retrieve device orientation, access the Screen.orientation property. Orientation can be one of the following:
| Orientation | Behavior |
|---|---|
| Portrait | The device is in portrait mode, with the device held upright and the home button at the bottom. |
| PortraitUpsideDown | The device is in portrait mode but upside down, with the device held upright and the home button at the top. |
| LandscapeLeft | The device is in landscape mode, with the device held upright and the home button on the right side. |
| LandscapeRight | The device is in landscape mode, with the device held upright and the home button on the left side. |
Set Screen.orientation to one of the above orientations or use ScreenOrientation.AutoRotation to control the screen orientation. When you enable autorotation, you can still disable some orientations on a case-by-case basis.
For more information, refer to the following API documentation:
Screen.autorotateToPortraitScreen.autorotateToPortraitUpsideDownScreen.autorotateToLandscapeLeftScreen.autorotateToLandscapeRightThe screen orientation of your application might vary depending on the device orientation set by the user, regardless of your application’s default orientation setting.
The following table shows the default screen orientation set for your application and the actual orientation the application loads in based on the device rotation setting.
| Device rotation setting | Default screen orientation: Autorotate | Default screen orientation: Portrait | Default screen orientation: Landscape |
|---|---|---|---|
| Autorotate | The application screen loads in portrait and can rotate between portrait, landscape right, and landscape left orientations (excluding portrait upside down orientation). Note: On an iPad, the application screen loads in portrait or landscape orientation based on the device orientation. The screen can rotate between portrait, portrait upside down, landscape right, and landscape left orientations. |
The application screen loads and remains locked in portrait orientation. Although portrait upside down orientation is allowed, the screen doesn’t rotate to that orientation. Note: On an iPad, the application screen loads in portrait and can rotate between portrait and portrait upside down orientations. The splash screen can load in landscape orientation if the device orientation is landscape on launch. |
The splash screen loads in the same orientation as the device orientation. The application screen loads in landscape when the scene loads and can rotate between landscape left or landscape right orientations. Note: On an iPad, the application screen loads in landscape, and can rotate between landscape left and landscape right orientations. The splash screen can load in portrait if the device orientation is portrait on launch. |
| Portrait lock | The application screen loads and remains locked in portrait orientation. Note: Whilst in portrait orientation, if you set the ScreenOrientation.AutoRotation property for portrait to false, the application screen rotates to landscape orientation. If you now set the ScreenOrientation.AutoRotation property for landscape to false, the screen orientation remains unchanged. |
The application screen loads and remains locked in portrait orientation. | The splash screen loads in portrait orientation, but the application screen loads in landscape when the scene loads. By default, the application screen remains locked in landscape left orientation. Note: On an iPad, the splash screen loads in portrait orientation and the scene loads in landscape orientation. The application screen remains locked in landscape orientation. |
| Landscape lock | Not applicable as iPhones don’t have landscape lock setting. If the user turns off the device autorotation setting whilst the application is in landscape, the application screen rotates to and remains locked in portrait orientation. Note: On an iPad, the application loads and remains locked in landscape orientation. |
Not applicable as iPhones don’t have landscape lock setting. The application remains locked in portrait orientation. Note: On an iPad, the splash screen loads in landscape and the scene loads in portrait orientation. The application screen remains locked in portrait orientation. |
Not applicable as iPhones don’t have landscape lock setting. The application screen loads in landscape and can remain locked in both landscape left or landscape right orientations when the application loads. Note: On an iPad, the application screen loads in landscape and remains locked in either landscape left or landscape right orientation depending on the device orientation. |
Note: The Swift Xcode project type strictly enforces the orientation settings in the Player settings. For more information, refer to Manage screen orientation in Swift Xcode projects.