---
title: NSToolbar
framework: appkit
role: symbol
role_heading: Class
path: appkit/nstoolbar
---

# NSToolbar

An object that manages the space above your app’s custom content and either below or integrated with the window’s title bar.

## Declaration

```swift
@MainActor class NSToolbar
```

## Overview

Overview An NSToolbar object manages the controls and views that apply to the main window’s content area. Toolbars provide convenient access to the commands and features people use most often. Toolbars are also user-configurable and support the display of an interactive customization palette. Create and configure your toolbar programmatically or using Interface Builder. Add items to the toolbar that correspond to the commands you want to feature in your window. Each item has a corresponding NSToolbarItem object, which you use to make changes. Each toolbar manages a unique set of items, but you can synchronize the items and state of multiple toolbars by assigning the same value to their identifier properties. For more information about how to use toolbars, see Integrating a Toolbar and Touch Bar into Your App.

## Topics

### Creating an toolbar object

- [init(identifier:)](appkit/nstoolbar/init(identifier:).md)
- [init()](appkit/nstoolbar/init().md)

### Configuring the toolbar contents

- [delegate](appkit/nstoolbar/delegate.md)
- [NSToolbarDelegate](appkit/nstoolbardelegate.md)

### Getting the toolbar’s identity

- [identifier](appkit/nstoolbar/identifier-swift.property.md)
- [NSToolbar.Identifier](appkit/nstoolbar/identifier-swift.typealias.md)

### Configuring the toolbar’s behavior

- [isVisible](appkit/nstoolbar/isvisible.md)
- [displayMode](appkit/nstoolbar/displaymode-swift.property.md)
- [NSToolbar.DisplayMode](appkit/nstoolbar/displaymode-swift.enum.md)
- [showsBaselineSeparator](appkit/nstoolbar/showsbaselineseparator.md)
- [allowsUserCustomization](appkit/nstoolbar/allowsusercustomization.md)
- [allowsExtensionItems](appkit/nstoolbar/allowsextensionitems.md)

### Managing items on the toolbar

- [items](appkit/nstoolbar/items.md)
- [visibleItems](appkit/nstoolbar/visibleitems.md)
- [centeredItemIdentifiers](appkit/nstoolbar/centereditemidentifiers.md)
- [selectedItemIdentifier](appkit/nstoolbar/selecteditemidentifier.md)
- [willAddItemNotification](appkit/nstoolbar/willadditemnotification.md)
- [didRemoveItemNotification](appkit/nstoolbar/didremoveitemnotification.md)
- [insertItem(withItemIdentifier:at:)](appkit/nstoolbar/insertitem(withitemidentifier:at:).md)
- [removeItem(at:)](appkit/nstoolbar/removeitem(at:).md)

### Autosaving the configuration

- [autosavesConfiguration](appkit/nstoolbar/autosavesconfiguration.md)
- [configuration](appkit/nstoolbar/configuration.md)
- [setConfiguration(_:)](appkit/nstoolbar/setconfiguration(_:).md)

### Displaying the customization palette

- [runCustomizationPalette(_:)](appkit/nstoolbar/runcustomizationpalette(_:).md)
- [customizationPaletteIsRunning](appkit/nstoolbar/customizationpaletteisrunning.md)

### Validating visible items

- [validateVisibleItems()](appkit/nstoolbar/validatevisibleitems().md)

### Deprecated

- [centeredItemIdentifier](appkit/nstoolbar/centereditemidentifier.md)
- [fullScreenAccessoryView](appkit/nstoolbar/fullscreenaccessoryview.md)
- [fullScreenAccessoryViewMinHeight](appkit/nstoolbar/fullscreenaccessoryviewminheight.md)
- [fullScreenAccessoryViewMaxHeight](appkit/nstoolbar/fullscreenaccessoryviewmaxheight.md)
- [sizeMode](appkit/nstoolbar/sizemode-swift.property.md)
- [NSToolbar.SizeMode](appkit/nstoolbar/sizemode-swift.enum.md)

### Structures

- [NSToolbar.DidRemoveItemMessage](appkit/nstoolbar/didremoveitemmessage.md)
- [NSToolbar.WillAddItemMessage](appkit/nstoolbar/willadditemmessage.md)

### Instance Properties

- [allowsDisplayModeCustomization](appkit/nstoolbar/allowsdisplaymodecustomization.md)
- [itemIdentifiers](appkit/nstoolbar/itemidentifiers.md)

### Instance Methods

- [removeItem(identifier:)](appkit/nstoolbar/removeitem(identifier:).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)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)

## See Also

### View

- [Integrating a Toolbar and Touch Bar into Your App](appkit/integrating-a-toolbar-and-touch-bar-into-your-app.md)
- [NSToolbarItemValidation](appkit/nstoolbaritemvalidation.md)
