<!--
{
  "availability" : [
    "iOS: 27.1.0 -",
    "iPadOS: 27.1.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/ReservedRegion",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI14ReservedRegionV"
  },
  "title" : "ReservedRegion"
}
-->

# ReservedRegion

A region within a view’s coordinate space that another entity reserves.

```
struct ReservedRegion
```

## Overview

A reserved region indicates an area within a view’s coordinate space that an entity, such as the device hardware, reserves. Arrange the view’s content to account for this region. Each region describes a frame, margins, active state, and an identifier.

There are two categories of reserved regions:

- [`occlusion`](/documentation/SwiftUI/ReservedRegion/Kind-swift.struct/occlusion): An area where an element, such as the Dynamic Island, a camera, or window controls, occludes content.
- [`division`](/documentation/SwiftUI/ReservedRegion/Kind-swift.struct/division): An area where content splits into separate regions, such as at the fold of a hinge.

Read reserved regions using the [`reservedRegions(kind:options:layoutDirectionBehavior:)`](/documentation/SwiftUI/GeometryProxy/reservedRegions(kind:options:layoutDirectionBehavior:)) method, which returns all of the reserved regions that currently intersect your view regardless of whether they are currently active.

In the example below, a custom [`Layout`](/documentation/SwiftUI/Layout) uses the reserved regions from a [`GeometryProxy`](/documentation/SwiftUI/GeometryProxy) instance to handle positioning its subviews away from any regions that intersect it.

```swift
GeometryReader { proxy in
    RegionAvoidingLayout(
        regions: proxy.reservedRegions(kind: .occlusion)
    ) {
        ForEach(items) { item in
            ItemView(item)
        }
    }
}    
```

When you manually position your content to incorporate reserved regions, consider right-to-left layout directions. Reserved regions are typically in a fixed coordinate space; the absolute location of a device’s camera doesn’t flip depending on a person’s preferred language. By default, the system mirrors the geometry of these regions automatically before it provides them to SwiftUI APIs.

For example, a [`Layout`](/documentation/SwiftUI/Layout) automatically flips the geometry of the subviews you place. By mirroring the geometry of the reserved regions, your layout doesn’t need to account for the layout direction when determining whether a particular subview intersects the region.

There may be cases when you need to make more manual adjustments for the frames of reserved regions for right-to-left layout directions. In these cases, you can provide the [`LayoutDirectionBehavior.fixed`](/documentation/SwiftUI/LayoutDirectionBehavior/fixed) value to the method and the system doesn’t mirror the frames of the regions.

## Topics

### Getting region details

[`var id: ReservedRegion.ID`](/documentation/SwiftUI/ReservedRegion/id-swift.property)

The identifier of the region.

[`struct ID`](/documentation/SwiftUI/ReservedRegion/ID-swift.struct)

An identifier for a reserved region.

[`var frame: CGRect`](/documentation/SwiftUI/ReservedRegion/frame)

The rect of the region in the view’s coordinate space, including the margins.

[`var isActive: Bool`](/documentation/SwiftUI/ReservedRegion/isActive)

Whether the region is active.

[`var kind: ReservedRegion.Kind`](/documentation/SwiftUI/ReservedRegion/kind-swift.property)

The kind of the region.

[`struct Kind`](/documentation/SwiftUI/ReservedRegion/Kind-swift.struct)

A kind of reserved region.

[`var margins: EdgeInsets`](/documentation/SwiftUI/ReservedRegion/margins)

The margins included in the frame around the rect for interactive content.

### Querying reserved regions

[`struct QueryOptions`](/documentation/SwiftUI/ReservedRegion/QueryOptions)

Options for querying reserved regions.

### Default Implementations

[Identifiable Implementations](/documentation/SwiftUI/ReservedRegion/Identifiable-Implementations)

## Relationships

### Conforms To

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

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

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

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

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

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

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

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

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

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

---

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)