<!--
{
  "availability" : [
    "iOS: 6.0.0 -",
    "iPadOS: 6.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIViewController/supportedInterfaceOrientations",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIViewController(py)supportedInterfaceOrientations"
  },
  "title" : "supportedInterfaceOrientations"
}
-->

# supportedInterfaceOrientations

The interface orientations that the view controller supports.

```
var supportedInterfaceOrientations: UIInterfaceOrientationMask { get }
```

## Discussion

This property returns a bit mask that specifies which orientations the view controller supports. For more information, see [`UIInterfaceOrientationMask`](/documentation/UIKit/UIInterfaceOrientationMask).

When the device orientation changes, the system calls this method on the root view controller or the topmost modal view controller that fills the window. If the view controller supports the new orientation, the system rotates the window and the view controller. The system only calls this method if the view controller’s [`shouldAutorotate`](/documentation/UIKit/UIViewController/shouldAutorotate) method returns <doc://com.apple.documentation/documentation/Swift/true>.

Override this method to declare which orientations the view controller supports. The default value is [`all`](/documentation/UIKit/UIInterfaceOrientationMask/all) for the iPad idiom and [`allButUpsideDown`](/documentation/UIKit/UIInterfaceOrientationMask/allButUpsideDown) for the iPhone idiom. The value you return must not be 0.

To determine whether to rotate, the system compares the view controller’s supported orientations with the app’s supported orientations — as determined by the `Info.plist` file or the app delegate’s [`application(_:supportedInterfaceOrientationsFor:)`](/documentation/UIKit/UIApplicationDelegate/application(_:supportedInterfaceOrientationsFor:)) method — and the device’s supported orientations.

> Note:
> All iPadOS devices support the ``doc://com.apple.uikit/documentation/UIKit/UIInterfaceOrientationMask/portraitUpsideDown`` orientation. It’s best practice to enable it for the iPad idiom. iOS devices without a Home button, such as iPhone 12, don’t support this orientation. You should disable it entirely for the iPhone idiom.

If your app supports multitasking, the system doesn’t call this method on your view controller because multitasking apps must support all orientations. You can opt out of multitasking by enabling *Requires full screen* on your iOS target or by not declaring support for all possible orientations within the `Info.plist` file.

For design guidance, see [Adaptivity and Layout](https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/) in the iOS Human Interface Guidelines.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)