<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 13.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/WindowResizability",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI18WindowResizabilityV"
  },
  "title" : "WindowResizability"
}
-->

# WindowResizability

The resizability of a window.

```
struct WindowResizability
```

## Overview

Use the [`windowResizability(_:)`](/documentation/SwiftUI/Scene/windowResizability(_:)) scene modifier to apply a value
of this type to a [`Scene`](/documentation/SwiftUI/Scene) that you define in your [`App`](/documentation/SwiftUI/App) declaration.
The value that you specify indicates the strategy the system uses to
place minimum and maximum size restrictions on windows that it creates
from that scene.

For example, you can create a window group that people can resize to
between 100 and 400 points in both dimensions by applying both a frame
with those constraints to the scene’s content, and the
[`contentSize`](/documentation/SwiftUI/WindowResizability/contentSize) resizability to the scene:

```
@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .frame(
                    minWidth: 100, maxWidth: 400,
                    minHeight: 100, maxHeight: 400)
        }
        .windowResizability(.contentSize)
    }
}
```

The default value for all scenes if you don’t apply the modifier is
[`automatic`](/documentation/SwiftUI/WindowResizability/automatic). With that strategy, [`Settings`](/documentation/SwiftUI/Settings)
windows use the [`contentSize`](/documentation/SwiftUI/WindowResizability/contentSize) strategy, while
all others use [`contentMinSize`](/documentation/SwiftUI/WindowResizability/contentMinSize). Windows on visionOS
with a window style of [`volumetric`](/documentation/SwiftUI/WindowStyle/volumetric) also use the
[`contentSize`](/documentation/SwiftUI/WindowResizability/contentSize) strategy.

## Topics

### Getting the resizability

[`automatic`](/documentation/SwiftUI/WindowResizability/automatic)

The automatic window resizability.

[`contentMinSize`](/documentation/SwiftUI/WindowResizability/contentMinSize)

A window resizability that’s partially derived from the window’s
content.

[`contentSize`](/documentation/SwiftUI/WindowResizability/contentSize)

A window resizability that’s derived from the window’s content.



---

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)