---
title: NSUserInterfaceCompression
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nsuserinterfacecompression
---

# NSUserInterfaceCompression

A protocol that describes how a UI control should redisplay when space is restricted.

## Declaration

```swift
protocol NSUserInterfaceCompression
```

## Overview

Overview A control that adopts this protocol has the ability to resize itself when space is at a premium.

## Topics

### Compressing the UI

- [compress(withPrioritizedCompressionOptions:)](appkit/nsuserinterfacecompression/compress(withprioritizedcompressionoptions:).md)

### Querying Compression Status

- [minimumSize(withPrioritizedCompressionOptions:)](appkit/nsuserinterfacecompression/minimumsize(withprioritizedcompressionoptions:).md)
- [activeCompressionOptions](appkit/nsuserinterfacecompression/activecompressionoptions.md)

## Relationships

### Conforming Types

- [NSButton](appkit/nsbutton.md)
- [NSPopUpButton](appkit/nspopupbutton.md)
- [NSSegmentedControl](appkit/nssegmentedcontrol.md)
- [NSStatusBarButton](appkit/nsstatusbarbutton.md)
