Окно MacOS со встроенной строкой заголовка и панелью инструментов?

В macOS, как я могу создать окно с "интегрированной строкой заголовка и панелью инструментов" в Xcode и/или Interface Builder?

Это окно типа "толстая строка заголовка", которое было добавлено в такие приложения, как Safari и Calendar в OS X 10.10 Yosemite. Единая строка заголовка и панель инструментов, а также другие гаджеты.

macOS Human Interface Guidelines: Title Bar и Toolbar

Панель инструментов, если она включена, находится под строкой заголовка (или интегрирована с строкой заголовка) и содержит элементы управления, известные как элементы панели инструментов, которые обеспечивают быстрый доступ к часто используемым командам и функциям.

Integrated title bar and toolbar

Интегрированная строка заголовка и панель инструментов

Ответ 1

  1. Создайте стандартную панель инструментов.
  2. Когда окно загрузится, установите titleVisibility на скрытый:

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

Ответ 2

В вашем оконном контроллере windowDidLoad():

window?.titleVisibility = .hidden

Ответ 3

Начиная с Xcode 10, вы можете сделать это в вашей XIB или раскадровке, установив флажок "Скрыть заголовок" под заголовком окна в окне инспектора атрибутов.

xib demo

Также обратите внимание, что вы должны использовать стиль "Textured Rounded" для кнопок панели инструментов.