---
title: UIScreenMode
framework: uikit
role: symbol
role_heading: Class
path: uikit/uiscreenmode
---

# UIScreenMode

A possible set of attributes that can apply to a screen object.

## Declaration

```swift
class UIScreenMode
```

## Mentioned in

Presenting content on a connected display

## Overview

Overview A screen mode object encapsulates information about the size of the screen’s underlying display buffer and the aspect ratio it uses for individual pixels. Most developers should never need to use the information provided by this class and should simply use the bounds provided by the UIScreen object for their drawing space. The bounds of screen and window objects automatically take the pixel aspect ratio and underlying drawing hardware into consideration. However, developers that work with pixel-level information more directly may use the information in the current screen mode object to tailor their code for the target screen. You don’t create instances of this class directly. Instead, you get the screen modes supported by a given screen from the corresponding UIScreen object.

## Topics

### Accessing the screen mode attributes

- [size](uikit/uiscreenmode/size.md)
- [pixelAspectRatio](uikit/uiscreenmode/pixelaspectratio.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Screens

- [Presenting content on a connected display](uikit/presenting-content-on-a-connected-display.md)
- [UIScreen](uikit/uiscreen.md)
