Pop-Up Button vs. Pull-Down Button vs. Combo Box
/ NSPopUpButton · NSComboBox /
also called pop-up menu button, pull-down menu button, combo box, menu picker
A pop-up button represents a selection: its closed label shows the current choice, and opening it presents the available values. A pull-down button uses NSPopUpButton with pullsDown set to true and presents commands from a fixed button label rather than communicating a persistent selection. A combo box is a text field plus a drop-down list, so the user can type a value instead of being limited to the listed choices.
If you called it…
…you meant a pop-up button vs. pull-down button vs. combo box.
Anatomy — every part, named
- 1Current-value label
NSPopUpButton.titleOfSelectedItem“The dropdown text that shows what is selected” is the pop-up button's current-value label.
- 2Pull-down indicator
NSPopUpButton.pullsDown“The little arrow showing that this button opens actions” is the pull-down indicator.
- 3Editable value field
NSComboBox“The dropdown field where I can type my own value” is the combo box's editable field.
- 4Selected-item checkmark
NSMenuItem.state“The checkmark next to the current choice” is the selected menu item's state mark.
Prompt — paste into your agent
Choose the correct control from Pop-Up Button vs. Pull-Down Button vs. Combo Box: use NSPopUpButton with pullsDown false for a persistent selection, the same control with pullsDown true for a menu of commands, or NSComboBox when the user may type a value as well as choose one. Preserve the native arrow, menu behavior, and displayed-value semantics of the chosen control.
Debug prompt — when it misbehaves
Paste this, then describe what you’re seeing — it hands your agent the classic failure modes to rule out first.
Debug my macOS popup/pull-down/combo (NSPopUpButton, NSComboBox). Rule out: a pull-down consuming its FIRST menu item as the title — insert a dummy first item; popup selection not syncing because selectItem was never called after menu rebuild; autoenablesItems greying items whose actions lack targets; expecting a combo box to be a menu — it is an editable text field plus a list. The symptom:
In code
The exact names this thing goes by in code — each row is one framework’s word for it. Use the row that matches your project (or paste it into your prompt).
| AppKit | NSPopUpButton | a selection control when pullsDown is false |
| AppKit | NSComboBox | an editable text field paired with a choices list |
| AppKit | NSPopUpButton.pullsDown | true makes it an action-oriented pull-down button |
| SwiftUI | Picker |