---
title: NSButton.ButtonType
framework: appkit
role: symbol
role_heading: Enumeration
path: appkit/nsbutton/buttontype
---

# NSButton.ButtonType

Button types that you can specify using setButtonType(_:).

## Declaration

```swift
enum ButtonType
```

## Overview

Overview For more information, see setButtonType(_:).

## Topics

### Configuring Button Behavior

- [NSButton.ButtonType.momentaryPushIn](appkit/nsbutton/buttontype/momentarypushin.md)
- [NSButton.ButtonType.momentaryLight](appkit/nsbutton/buttontype/momentarylight.md)
- [NSButton.ButtonType.momentaryChange](appkit/nsbutton/buttontype/momentarychange.md)
- [NSButton.ButtonType.pushOnPushOff](appkit/nsbutton/buttontype/pushonpushoff.md)
- [NSButton.ButtonType.onOff](appkit/nsbutton/buttontype/onoff.md)
- [NSButton.ButtonType.toggle](appkit/nsbutton/buttontype/toggle.md)
- [NSButton.ButtonType.switch](appkit/nsbutton/buttontype/switch.md)
- [NSButton.ButtonType.radio](appkit/nsbutton/buttontype/radio.md)
- [NSButton.ButtonType.accelerator](appkit/nsbutton/buttontype/accelerator.md)
- [NSButton.ButtonType.multiLevelAccelerator](appkit/nsbutton/buttontype/multilevelaccelerator.md)

### Initializers

- [init(rawValue:)](appkit/nsbutton/buttontype/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Constants

- [NSButton.BezelStyle](appkit/nsbutton/bezelstyle-swift.enum.md)
- [NSButton.GradientType](appkit/nsbutton/gradienttype.md)
