---
title: NSUserInterfaceCompressionOptions
framework: appkit
role: symbol
role_heading: Class
path: appkit/nsuserinterfacecompressionoptions
---

# NSUserInterfaceCompressionOptions

An object that specifies how user interface elements resize themselves when space is constrained.

## Declaration

```swift
class NSUserInterfaceCompressionOptions
```

## Overview

Overview An instance of NSUserInterfaceCompressionOptions contains zero or more options. Because a compression options object behaves like a set, you can use common operations like intersection, union and subtraction to interact with instances and their members. You can access system-defined options through the class methods detailed in Creating standard options, or you can create your own custom options with the init(identifier:) initializer. To compare two different compression options objects, use the methods described in the Comparing compression options section.

## Topics

### Creating a compression option

- [init()](appkit/nsuserinterfacecompressionoptions/init().md)
- [init(options:)](appkit/nsuserinterfacecompressionoptions/init(options:).md)
- [init(identifier:)](appkit/nsuserinterfacecompressionoptions/init(identifier:).md)
- [init(coder:)](appkit/nsuserinterfacecompressionoptions/init(coder:).md)

### Creating standard options

- [hideImages](appkit/nsuserinterfacecompressionoptions/hideimages.md)
- [hideText](appkit/nsuserinterfacecompressionoptions/hidetext.md)
- [reduceMetrics](appkit/nsuserinterfacecompressionoptions/reducemetrics.md)
- [breakEqualWidths](appkit/nsuserinterfacecompressionoptions/breakequalwidths.md)
- [standardOptions](appkit/nsuserinterfacecompressionoptions/standardoptions.md)

### Comparing compression options

- [isEmpty](appkit/nsuserinterfacecompressionoptions/isempty.md)
- [contains(_:)](appkit/nsuserinterfacecompressionoptions/contains(_:).md)
- [intersects(_:)](appkit/nsuserinterfacecompressionoptions/intersects(_:).md)

### Combining compression options

- [union(_:)](appkit/nsuserinterfacecompressionoptions/union(_:).md)
- [subtracting(_:)](appkit/nsuserinterfacecompressionoptions/subtracting(_:).md)

### Initializers

- [init(compressionOptions:)](appkit/nsuserinterfacecompressionoptions/init(compressionoptions:).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)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Touch Bar items

- [NSTouchBarItem](appkit/nstouchbaritem.md)
- [NSCandidateListTouchBarItem](appkit/nscandidatelisttouchbaritem.md)
- [NSColorPickerTouchBarItem](appkit/nscolorpickertouchbaritem.md)
- [NSCustomTouchBarItem](appkit/nscustomtouchbaritem.md)
- [NSGroupTouchBarItem](appkit/nsgrouptouchbaritem.md)
- [NSPopoverTouchBarItem](appkit/nspopovertouchbaritem.md)
- [NSSharingServicePickerTouchBarItem](appkit/nssharingservicepickertouchbaritem.md)
- [NSSliderTouchBarItem](appkit/nsslidertouchbaritem.md)
- [NSStepperTouchBarItem](appkit/nssteppertouchbaritem.md)
- [NSButtonTouchBarItem](appkit/nsbuttontouchbaritem.md)
- [NSPickerTouchBarItem](appkit/nspickertouchbaritem.md)
- [NSPickerTouchBarItem.ControlRepresentation](appkit/nspickertouchbaritem/controlrepresentation-swift.enum.md)
- [NSPickerTouchBarItem.SelectionMode](appkit/nspickertouchbaritem/selectionmode-swift.enum.md)
