Find the AppKit or SwiftUI name for a Mac UI idea
Search the list and see when the two tools match well, match only in part, or need more context.
Guide · 01
Check the match before you copy a code name
Two items with similar names may still open, close, focus, or support access tools in different ways. “Direct” means they are close. “Approximate” means you must adjust the code. “Depends on context” means the app design decides the answer.
APPKIT ↔ SWIFTUI
Code name finder
Search by UI idea, AppKit name, SwiftUI name, or type of match.
Direct61
The ideas are close, but you should still test when they open, update, and close.
Close match1
The closest API needs changes in behavior or app structure.
Depends on the app1
The right match depends on the window, state, and which part owns the data.
63 of 63 entries
| Interface concept | AppKit | SwiftUI | How well they match |
|---|---|---|---|
| Alert | NSAlert | .alert(…)AlertScene | Direct |
| Alternating row backgrounds | NSTableView.usesAlternatingRowBackgroundColors | .alternatingRowBackgrounds(_:) | Direct |
| App menu bar | NSApplication.mainMenu | .commands { … } | Direct |
| Button | NSButton | Button | Direct |
| Checkbox | NSButton (switch type) | Toggle.toggleStyle(.checkbox) | Direct |
| Color well / color picker | NSColorWellNSColorPanel | ColorPicker | Direct |
| Command group | NSMenuItem (inserted group) | CommandGroup | Direct |
| Confirmation dialog | NSAlert | .confirmationDialog(…) | Direct |
| Context menu | NSView.menuNSMenu | .contextMenu { … } | Direct |
| Date picker | NSDatePicker | DatePicker | Direct |
| Dialog icon | NSAlert.icon | .dialogIcon(_:) | Direct |
| Disclosure control | NSButton.BezelStyle.disclosureNSOutlineView | DisclosureGroup | Direct |
| “Don’t show again” checkbox | NSAlert.showsSuppressionButton | .dialogSuppressionToggle(…) | Direct |
| Gauge / level indicator | NSLevelIndicator | Gauge | Direct |
| Help button/link | NSHelpManagerNSButton | HelpLink | Direct |
| Hierarchical table row | NSOutlineView row | DisclosureTableRow | Direct |
| Inspector | NSSplitViewItem.Behavior.inspectorNSInspectorBarNSPanel | .inspector(…) | Depends on the app |
| List | NSTableView | List | Direct |
| Menu | NSMenu | Menu | Direct |
| Menu bar extra / status item | NSStatusItem | MenuBarExtra | Direct |
| Menu indicator arrow | NSPopUpButtonCell.arrowPosition | .menuIndicator(_:) | Direct |
| Menu item keyboard equivalent | NSMenuItem.keyEquivalent | .keyboardShortcut(_:) | Direct |
| Menu separator | NSMenuItem.separator() | Divider | Direct |
| Menu-style status item | NSStatusItemNSMenu | MenuBarExtra.menuBarExtraStyle(.menu) | Direct |
| Multi-window scene | NSWindowController (multiple instances) | WindowGroup | Direct |
| Navigation split view | NSSplitViewController | NavigationSplitView | Direct |
| Navigation stack | NSPageController | NavigationStack | Close match |
| Open/import panel | NSOpenPanel | .fileImporter(…) | Direct |
| Outline / source list | NSOutlineView | OutlineGrouphierarchical List | Direct |
| Palette picker | NSMatrixNSSegmentedControl | Picker.pickerStyle(.palette) | Direct |
| Paste button | NSButtonNSPasteboard | PasteButton | Direct |
| Pop-up button | NSPopUpButton (pullsDown = false) | Picker.pickerStyle(.menu) | Direct |
| Popover | NSPopover | .popover(…) | Direct |
| Progress bar / spinner | NSProgressIndicator | ProgressView | Direct |
| Pull-down button | NSPopUpButton (pullsDown = true) | Menu.menuStyle(.button) | Direct |
| Radio group | NSButton (radio type, grouped) | Picker.pickerStyle(.radioGroup) | Direct |
| Rename button | NSButtonresponder-chain rename action | RenameButton | Direct |
| Resizable split view | NSSplitView | HSplitViewVSplitView | Direct |
| Save/export panel | NSSavePanel | .fileExporter(…) | Direct |
| Search field | NSSearchField | .searchable(…) | Direct |
| Segmented control | NSSegmentedControl | Picker.pickerStyle(.segmented) | Direct |
| Settings window | NSWindowController (preferences window) | Settings | Direct |
| Share button / share picker | NSSharingServicePicker | ShareLink | Direct |
| Sheet | NSWindow.beginSheet | .sheet(…) | Direct |
| Sidebar toggle | NSSplitViewController.toggleSidebar(_:) | SidebarCommandssystem toolbar item | Direct |
| Single window | NSWindow | Window | Direct |
| Slider | NSSlider | Slider | Direct |
| Stepper | NSStepper | Stepper | Direct |
| Switch | NSSwitch | Toggle.toggleStyle(.switch) | Direct |
| Tab view | NSTabViewControllerNSTabView | TabViewTab | Direct |
| Table | NSTableView | Table | Direct |
| Table column | NSTableColumn | TableColumn | Direct |
| Table header strip | NSTableHeaderView | .tableColumnHeaders(_:) | Direct |
| Table row | NSTableRowView | TableRow | Direct |
| Toolbar | NSToolbar | .toolbar { … } | Direct |
| Toolbar customization palette | NSToolbar customization | .toolbar(id:content:) | Direct |
| Toolbar item | NSToolbarItem | ToolbarItem | Direct |
| Toolbar item group | NSToolbarItemGroup | ToolbarItemGroup | Direct |
| Toolbar overflow menu | NSToolbar overflow menu | .toolbarOverflowMenu { … } | Direct |
| Top-level command menu | top-level NSMenuItemNSMenu | CommandMenu | Direct |
| Utility window / tool palette | NSPanel | UtilityWindow | Direct |
| Web link | link-style NSTextFieldNSWorkspace | Link | Direct |
| Window-style status item | NSStatusItemNSPopover or NSPanel | MenuBarExtra.menuBarExtraStyle(.window) | Direct |
No translation matches that search.