---
title: NSComboButton
framework: appkit
role: symbol
role_heading: Class
path: appkit/nscombobutton
---

# NSComboButton

A button with a pull-down menu and a default action.

## Declaration

```swift
class NSComboButton
```

## Overview

Overview An NSComboButton object is a button that displays a title string, image, and an optional control for displaying a menu. Use this control in places where you want to offer a button with a default action and one or more alternative actions. Clicking the title or image executes the default action you provide, and clicking the menu control displays a menu for selecting a different action. If you configure the button to hide the menu control, a long-press gesture displays the menu. After you create a combo button programmatically or in Interface Builder, choose the button style you want and add a title or image for your content. A combo button has a default action, which you specify at creation time. You can also change that action later using the inherited target and action properties. To specify one or more alternative actions, configure a menu with those actions and assign it to the button’s menu property. This control doesn’t use an NSCell object for its underlying implementation. It also doesn’t support the addition of a contextual menu.

## Topics

### Creating a Combo Button

- [init(title:image:menu:target:action:)](appkit/nscombobutton/init(title:image:menu:target:action:).md)
- [init(title:menu:target:action:)](appkit/nscombobutton/init(title:menu:target:action:).md)
- [init(image:menu:target:action:)](appkit/nscombobutton/init(image:menu:target:action:).md)

### Configuring the Button Appearance

- [style](appkit/nscombobutton/style-swift.property.md)
- [NSComboButton.Style](appkit/nscombobutton/style-swift.enum.md)
- [title](appkit/nscombobutton/title.md)
- [image](appkit/nscombobutton/image.md)
- [imageScaling](appkit/nscombobutton/imagescaling.md)

### Specifying the Alternative Actions

- [menu](appkit/nscombobutton/menu.md)

## Relationships

### Inherits From

- [NSControl](appkit/nscontrol.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSAccessibilityElementProtocol](appkit/nsaccessibilityelementprotocol.md)
- [NSAccessibilityProtocol](appkit/nsaccessibilityprotocol.md)
- [NSAnimatablePropertyContainer](appkit/nsanimatablepropertycontainer.md)
- [NSAppearanceCustomization](appkit/nsappearancecustomization.md)
- [NSCoding](foundation/nscoding.md)
- [NSDraggingDestination](appkit/nsdraggingdestination.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSStandardKeyBindingResponding](appkit/nsstandardkeybindingresponding.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [NSUserActivityRestoring](appkit/nsuseractivityrestoring.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Controls

- [Responding to control-based events using target-action](uikit/responding-to-control-based-events-using-target-action.md)
- [NSButton](appkit/nsbutton.md)
- [NSColorWell](appkit/nscolorwell.md)
- [Combo Box](appkit/combo-box.md)
- [Date Picker](appkit/date-picker.md)
- [NSImageView](appkit/nsimageview.md)
- [NSLevelIndicator](appkit/nslevelindicator.md)
- [Path Control](appkit/path-control.md)
- [NSPopUpButton](appkit/nspopupbutton.md)
- [NSProgressIndicator](appkit/nsprogressindicator.md)
- [NSRuleEditor](appkit/nsruleeditor.md)
- [NSPredicateEditor](appkit/nspredicateeditor.md)
- [Search Field](appkit/search-field.md)
- [NSSegmentedControl](appkit/nssegmentedcontrol.md)
- [Slider](appkit/slider.md)
