NSToolbarFlexibleSpaceItem является ограничением для NSSplitViewItem в Swift

введите описание изображения здесь

Почти все официальные приложения macOS имеют эту функцию панели инструментов, NSToolbarItem гибкое пространство которой ограничено NSSplitViewItem представлением. Сначала я подумал, может быть, на NSToolbar есть 3 разных раздела. Но это всего лишь ОДНА панель инструментов. Вы можете открыть приложение Notes и настроить панель инструментов.

  • Первое гибкое пространство обнаружено и перемещено вместе с первым элементом разделенного представления.
  • Второе гибкое пространство обнаруживается и перемещается вместе со вторым разделенным элементом.
  • Остальные будут обычными гибкими пространствами.
  • Если есть только два гибких пространства, второе будет действовать как обычное гибкое пространство. То же самое относится к одному и или гибкому пространству.

Я думаю, именно так Apple настраивает гибкие элементы пространства.

Я нашел этот JWToolbarAdaptiveSpaceItem, но он съемный и его нельзя заменить гибким элементом пространства, как это делают приложения Note.

Есть еще один вопрос stackoverflow (сейчас я его не нашел), заданный по этому поводу, но ответ заключается в добавлении поддельных представлений и кнопок, которые не являются NSToolbar.

Таким образом, кто-нибудь знает, как этого добиться?

(Извините за мой английский)


person João Oliveira    schedule 21.09.2016    source источник


Ответы (1)


Начиная с macOS 11 Big Sur, это обрабатывается NSTrackingSeparatorToolbarItem, который взаимодействует с разделителями NSSplitView. Также есть новое свойство navigational для NSToolbarItem, которое может влиять на расположение предметов.

Я не думаю, что есть встроенный способ сделать это в предыдущих версиях macOS.

person Kevin Grant    schedule 04.12.2020