<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:@E@UISplitViewControllerDisplayMode"
  },
  "title" : "UISplitViewController.DisplayMode"
}
-->

# UISplitViewController.DisplayMode

Constants that describe the possible arrangements for a split view interface.

```
enum DisplayMode
```

## Overview

A split view controller’s display mode controls the visual arrangement of its child view controllers. You set a preferred display mode by using the [`preferredDisplayMode`](/documentation/UIKit/UISplitViewController/preferredDisplayMode) property, and the split view controller updates itself and reflects the actual display mode in the [`displayMode`](/documentation/UIKit/UISplitViewController/displayMode-swift.property) property.

Display modes apply to a split view controller in an expanded arrangement. When the split view interface is collapsed — when [`isCollapsed`](/documentation/UIKit/UISplitViewController/isCollapsed) is <doc://com.apple.documentation/documentation/Swift/true> — the display mode has no impact on the appearance of the split view controller interface.

A split view controller’s split behavior ([`splitBehavior`](/documentation/UIKit/UISplitViewController/splitBehavior-swift.property)) affects its possible display modes. For more information, see [`UISplitViewController.SplitBehavior`](/documentation/UIKit/UISplitViewController/SplitBehavior-swift.enum).

|Split Behavior|Possible Display Modes                                                                                                                                                                                                                                                                                                                                        |
|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|Tile          |``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/secondaryOnly`` ![](spacer) ``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/oneBesideSecondary`` ![](spacer) ``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/twoBesideSecondary``  |
|Overlay       |``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/secondaryOnly`` ![](spacer) ``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/oneOverSecondary`` ![](spacer) ``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/twoOverSecondary``      |
|Displace      |``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/secondaryOnly`` ![](spacer) ``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/oneBesideSecondary`` ![](spacer) ``doc://com.apple.uikit/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/twoDisplaceSecondary``|

There are several ways for user interaction to change the current display mode. Based on the type of user interaction (gesture or button tap), the display mode can transition between a set of predetermined states.

![Flow diagram showing the possible state transitions between display modes, based on split behavior and column style.](images/com.apple.uikit/UISplitViewController-3~dark@2x.png)

## Topics

### Constants

[`UISplitViewControllerDisplayModeAutomatic`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/automatic)

The split view controller automatically decides the most appropriate display mode based on the device and the current app size.

[`UISplitViewControllerDisplayModeSecondaryOnly`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/secondaryOnly)

Only the secondary view controller is shown onscreen.

[`UISplitViewControllerDisplayModeOneBesideSecondary`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/oneBesideSecondary)

One sidebar appears side-by-side with the secondary view controller.

[`UISplitViewControllerDisplayModeOneOverSecondary`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/oneOverSecondary)

One sidebar is layered on top of the secondary view controller, leaving the secondary view controller partially visible.

[`UISplitViewControllerDisplayModeTwoBesideSecondary`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/twoBesideSecondary)

Two sidebars appear side-by-side with the secondary view controller.

[`UISplitViewControllerDisplayModeTwoOverSecondary`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/twoOverSecondary)

Two sidebars are layered on top of the secondary view controller, leaving the secondary view controller partially visible.

[`UISplitViewControllerDisplayModeTwoDisplaceSecondary`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/twoDisplaceSecondary)

Two sidebars displace the secondary view controller instead of overlapping it, moving it partially offscreen.

### Deprecated

[`UISplitViewControllerDisplayModePrimaryHidden`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/primaryHidden)

The primary view controller is hidden.

[`UISplitViewControllerDisplayModeAllVisible`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/allVisible)

The primary and secondary view controllers are displayed side-by-side onscreen.

[`UISplitViewControllerDisplayModePrimaryOverlay`](/documentation/UIKit/UISplitViewController/DisplayMode-swift.enum/primaryOverlay)

The primary view controller is layered on top of the secondary view controller, leaving the secondary view controller partially visible.

## Relationships

### Conforms To

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

---

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)