---
title: UIWindowScene
framework: uikit
role: symbol
role_heading: Class
path: uikit/uiwindowscene
---

# UIWindowScene

A scene that manages one or more windows for your app.

## Declaration

```swift
@MainActor class UIWindowScene
```

## Mentioned in

Transitioning to the UIKit scene-based life cycle Presenting content on a connected display Providing data to the view hierarchy with custom traits Specifying the scenes your app supports

## Overview

Overview A UIWindowScene object manages one instance of your app’s UI, including one or more windows that you display from that scene. The scene object manages the display of your windows on the user’s device, and the life cycle of that scene as the user interacts with it. When the state of the scene changes, the scene object notifies its delegate object, which adopts the UIWindowSceneDelegate protocol. The scene also posts appropriate notifications to registered observers. Use the delegate object or notification observers to respond to any changes. Don’t create window scene objects directly. Instead, specify that you want a UIWindowScene object at configuration time by including the class name for the scene in the scene configuration details of your app’s Info.plist file. You can also specify the class name when creating a UISceneConfiguration object in your app delegate’s application(_:configurationForConnecting:options:) method. When the user interacts with your app, the system creates an appropriate scene object based on the configuration data you provided. To create a scene programmatically, call the requestSceneSessionActivation(_:userActivity:options:errorHandler:) method of UIApplication.

## Topics

### Getting the active windows

- [windows](uikit/uiwindowscene/windows.md)
- [keyWindow](uikit/uiwindowscene/keywindow.md)
- [screen](uikit/uiwindowscene/screen.md)

### Getting the interface attributes

- [traitCollection](uikit/uiwindowscene/traitcollection.md)
- [sizeRestrictions](uikit/uiwindowscene/sizerestrictions.md)
- [UISceneSizeRestrictions](uikit/uiscenesizerestrictions.md)

### Observing trait changes

- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)

### Overriding trait values

- [traitOverrides](uikit/uiwindowscene/traitoverrides-1klo1.md)
- [UITraitOverrides](uikit/uitraitoverrides-swift.struct.md)

### Providing a PDF version of your scene

- [screenshotService](uikit/uiwindowscene/screenshotservice.md)
- [UIScreenshotService](uikit/uiscreenshotservice.md)

### Sharing content

- [activityItemsConfigurationSource](uikit/uiwindowscene/activityitemsconfigurationsource.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)

### Determining window behaviors

- [isFullScreen](uikit/uiwindowscene/isfullscreen.md)
- [windowingBehaviors](uikit/uiwindowscene/windowingbehaviors.md)
- [UISceneWindowingBehaviors](uikit/uiscenewindowingbehaviors.md)

### Working with window geometry

- [effectiveGeometry](uikit/uiwindowscene/effectivegeometry.md)
- [requestGeometryUpdate(_:errorHandler:)](uikit/uiwindowscene/requestgeometryupdate(_:errorhandler:).md)
- [UIWindowScene.Geometry](uikit/uiwindowscene/geometry.md)
- [UIWindowScene.GeometryPreferences](uikit/uiwindowscene/geometrypreferences.md)
- [UIWindowScene.GeometryPreferences.iOS](uikit/uiwindowscene/geometrypreferences/ios.md)
- [UIWindowScene.GeometryPreferences.Mac](uikit/uiwindowscene/geometrypreferences/mac.md)
- [UIWindowScene.GeometryPreferences.Vision](uikit/uiwindowscene/geometrypreferences/vision.md)
- [UIProposedSceneSizeNoPreference](uikit/uiproposedscenesizenopreference.md)

### Working with focus

- [focusSystem](uikit/uiwindowscene/focussystem.md)

### Getting the status bar configuration

- [statusBarManager](uikit/uiwindowscene/statusbarmanager.md)
- [UIStatusBarManager](uikit/uistatusbarmanager.md)

### Configuring a window’s title bar

- [titlebar](uikit/uiwindowscene/titlebar.md)
- [UITitlebar](uikit/uititlebar.md)

### Configuring the windowing control style

- [UIWindowScene.WindowingControlStyle](uikit/uiwindowscene/windowingcontrolstyle.md)

### Supporting types

- [UIWindowScene.ActivationAction](uikit/uiwindowscene/activationaction.md)
- [UIWindowScene.ActivationConfiguration](uikit/uiwindowscene/activationconfiguration.md)
- [UIWindowScene.ActivationInteraction](uikit/uiwindowscene/activationinteraction.md)
- [UIWindowScene.ActivationRequestOptions](uikit/uiwindowscene/activationrequestoptions.md)
- [UIWindowSceneDestructionRequestOptions](uikit/uiwindowscenedestructionrequestoptions.md)
- [UIWindowScene.DismissalAnimation](uikit/uiwindowscene/dismissalanimation.md)
- [UIWindowSceneDragInteraction](uikit/uiwindowscenedraginteraction.md)
- [UIWindowScene.ResizingRestrictions](uikit/uiwindowscene/resizingrestrictions.md)
- [UIWindowSceneResizingRestrictions](uikit/uiwindowsceneresizingrestrictions.md)
- [UIWindowScene.PresentationStyle](uikit/uiwindowscene/presentationstyle.md)

### Deprecated symbols

- [coordinateSpace](uikit/uiwindowscene/coordinatespace.md)
- [interfaceOrientation](uikit/uiwindowscene/interfaceorientation.md)

### Instance Properties

- [closureConfirmation](uikit/uiwindowscene/closureconfirmation.md)

### Instance Methods

- [displayLink(action:)](uikit/uiwindowscene/displaylink(action:).md)
- [displayLink(target:selector:)](uikit/uiwindowscene/displaylink(target:selector:).md)

## Relationships

### Inherits From

- [UIScene](uikit/uiscene.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### Window scenes

- [Supporting multiple windows on iPad](uikit/supporting-multiple-windows-on-ipad.md)
- [UIWindowSceneDelegate](uikit/uiwindowscenedelegate.md)
- [UIScene](uikit/uiscene.md)
- [UISceneDelegate](uikit/uiscenedelegate.md)
