65
votes

In macOS how can I create a window with an "integrated title bar and toolbar" in Xcode and/or Interface Builder?

This is the "fat title bar" type of window that was added to apps such as Safari and Calendar in OS X 10.10 Yosemite. Unified title bar and toolbar plus other gadgets.

macOS Human Interface Guidelines: Title Bar and Toolbar

A toolbar, when included, resides beneath the title bar (or is integrated with the title bar) and includes controls—known as toolbar items—that provide quick access to frequently used commands and features.

Integrated title bar and toolbar

Integrated title bar and toolbar

3
I added an edit to add quotes and images from the HIG + modernize this question from the Yosemite era. Let me know if anything should be rolled back!pkamb

3 Answers

93
votes
  1. Create a standard toolbar.
  2. When the window loads, set titleVisibility to hidden:

    // Objective-C
    window.titleVisibility = NSWindowTitleHidden;
    
    // Swift
    window?.titleVisibility = .hidden
    
13
votes

As of Xcode 10, you can do this in your XIB or storyboard by turning on the “Hide Title” check box under the window's title in the window's Attributes Inspector.

xib demo

Note also that you should use the “Textured Rounded” style for toolbar buttons.

12
votes

In your window controller's windowDidLoad():

window?.titleVisibility = .hidden