<!--
{
  "availability" : [
    "iOS: 27.1.0 -",
    "iPadOS: 27.1.0 -",
    "macCatalyst: 27.1.0 -",
    "tvOS: 27.1.0 -",
    "visionOS: 27.1.0 -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UISplitArrangement-c.class",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UISplitArrangement"
  },
  "title" : "UISplitArrangement"
}
-->

# UISplitArrangement

An arrangement that places the primary and secondary views side by side along one or more axes.

```
@interface UISplitArrangement : UIArrangement
```

## Overview

A split arrangement view keeps its primary and secondary views in separate spaces: next to each other horizontally when someone is holding the device in landscape orientation, or stacked vertically when someone is holding the device in portrait orientation. Here’s how the split arrangement positions the primary and secondary views:

- In portrait orientation, the arrangement view places the primary view in the top position and the secondary view in the bottom position.
- In landscape orientation, the arrangement view places the primary view in the leading position and the secondary view in the trailing position.
- When someone is holding a closed iPhone Duo in a horizontal orientation, the split arrangement only shows the primary view.

**Portrait:**

![A fully open iPhone Duo in portrait orientation showing an arrangement view. The primary view fills the top half of the display, and the secondary view fills the bottom half.](images/com.apple.uikit/ArrangementView-6@2x.png)

**Landscape open or folded:**

![A fully open iPhone Duo in landscape orientation showing an arrangement view. The primary view fills the left half of the display, and the secondary view fills the right half.](images/com.apple.uikit/ArrangementView-7@2x.png)

**Landscape closed:**

![A closed iPhone Duo in landscape orientation showing an arrangement view. The primary view fills the entire visible display.](images/com.apple.uikit/ArrangementView-8~dark@2x.png)

Create a split arrangement by specifying a primary and secondary view controller, and call the [`updateArrangement:`](/documentation/UIKit/UIArrangementViewController/updateArrangement:) method with [`splitArrangement`](/documentation/UIKit/UISplitArrangement-c.class/splitArrangement):

```objc
self.arrangementVC = [[UIArrangementViewController alloc] init];

self.primaryVC = [[PrimaryController alloc] init];
[self.arrangementVC setViewController:self.primaryVC forPlacement:UIArrangementViewControllerViewPlacementPrimary];

self.secondaryVC = [[SecondaryController alloc] init];
[self.arrangementVC setViewController:self.secondaryVC forPlacement:UIArrangementViewControllerViewPlacementSecondary];

UISplitArrangement *arrangement = [UISplitArrangement splitArrangement];
[self.arrangementVC updateArrangement:arrangement];
```

### Adjust a split arrangement’s layout sizing

By default, a split arrangement view controller sizes the primary and secondary views equally when a display has one region. Influence how the arrangement view computes the sizes for each view by setting the split arrangement’s view properties for each placement to use an automatic size, a fixed layout size, a fractional layout size, or an intrinsic content size.

First create a [`UISplitArrangement`](/documentation/UIKit/UISplitArrangement-c.class) instance and a [`UISplitArrangementViewProperties`](/documentation/UIKit/UISplitArrangementViewProperties) instance to configure the preferred size:

```objc
UISplitArrangement *splitArrangement = [UISplitArrangement splitArrangement];
UISplitArrangementViewProperties *primaryViewProperties = [splitArrangement.defaultViewProperties copy];
```

Next, create a [`UISplitArrangementDimensionRange`](/documentation/UIKit/UISplitArrangementDimensionRange) instance, and configure the [`minimum`](/documentation/UIKit/UISplitArrangementDimensionRange/minimum), [`preferred`](/documentation/UIKit/UISplitArrangementDimensionRange/preferred), or [`maximum`](/documentation/UIKit/UISplitArrangementDimensionRange/maximum) properties with [`UISplitArrangementDimension`](/documentation/UIKit/UISplitArrangementDimension) options to describe how to size the view. The following example sets a preferred fractional layout size with an absolute minimum:

```objc
UISplitArrangementDimensionRange *primaryDimensionRange = [[UISplitArrangementDimensionRange alloc] init];
primaryDimensionRange.minimum = [UISplitArrangementDimension absoluteDimension:250.0];
primaryDimensionRange.preferred = [UISplitArrangementDimension fractionalDimension:0.3];
```

Then, set the `width` or `height` property on the view properties instance to the configured [`UISplitArrangementDimensionRange`](/documentation/UIKit/UISplitArrangementDimensionRange), set the view properties on the split arrangement for the view’s placement, and update the arrangement view controller to use the split arrangement by calling the [`updateArrangement:animated:`](/documentation/UIKit/UIArrangementViewController/updateArrangement:animated:) method:

```objc
primaryViewProperties.width = primaryDimensionRange;

[splitArrangement setViewProperties:primaryViewProperties forPlacement:UIArrangementViewControllerViewPlacementPrimary];
[arrangementVC updateArrangement:splitArrangement];
```

### Limit a split arrangement by orientation

You can limit which axes your split arrangement view controller supports by specifying the axes for the arrangement. The following example shows an arrangement that only splits vertically:

```objc
self.arrangementVC = [[UIArrangementViewController alloc] init];

self.primaryVC = [[PrimaryController alloc] init];
[self.arrangementVC setViewController:self.primaryVC forPlacement:UIArrangementViewControllerViewPlacementPrimary];

self.secondaryVC = [[SecondaryController alloc] init];
[self.arrangementVC setViewController:self.secondaryVC forPlacement:UIArrangementViewControllerViewPlacementSecondary];

UISplitArrangement *arrangement = [UISplitArrangement splitArrangement];
arrangement.axes = UIAxisVertical;
[self.arrangementVC updateArrangement:arrangement];
```

Use [`axes`](/documentation/UIKit/UISplitArrangement-c.class/axes) to set the axes for a split arrangement. For axes that you don’t include, the arrangement view only displays the primary view.

## Topics

### Creating a split arrangement

[`+ (instancetype) splitArrangement;`](/documentation/UIKit/UISplitArrangement-c.class/splitArrangement)

Returns a split arrangement.

### Configuring the arrangement

[`@property (nonatomic) UIAxis axes;`](/documentation/UIKit/UISplitArrangement-c.class/axes)

The axes of the arrangement.

[`@property (nonatomic, copy, readonly) UISplitArrangementViewProperties * defaultViewProperties;`](/documentation/UIKit/UISplitArrangement-c.class/defaultViewProperties)

Returns the default properties for a view in the split arrangement.

[`- (void) setViewProperties:(UISplitArrangementViewProperties *) viewProperties forPlacement:(UIArrangementViewControllerViewPlacement) placement;`](/documentation/UIKit/UISplitArrangement-c.class/setViewProperties:forPlacement:)

Sets the view properties in the split arrangement for a specific placement.

[`@interface UISplitArrangementViewProperties : NSObject`](/documentation/UIKit/UISplitArrangementViewProperties)

Properties you use to customize how a split arrangement presents a view.

## Relationships

### Inherits From

[`UIArrangement`](/documentation/UIKit/UIArrangement)

---

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)