Что это за элемент интерфейса какао в стиле панели инструментов? - PullRequest
4 голосов
/ 29 января 2012

Я видел этот элемент интерфейса, похожий на панель инструментов, в нескольких приложениях, и я хотел бы знать, есть ли стандартный объект Cocoa для такого элемента.

  • Xcode: Xcode's Toolbar
  • ColorSchemer: ColorSchemer's Toolbar
  • CornerStone: CornerStone's Toolbar

Если стандартной реализации Cocoa не существует, может кто-нибудь предложить хорошую библиотеку с открытым исходным кодом?

Ответы [ 3 ]

2 голосов
/ 31 января 2012

Во втором примере кнопки - это то, что Interface Builder называет «Градиентные кнопки», которые выглядят так, что им не требуется фоновое изображение. Кнопки просто прижаты друг к другу.

В других примерах «панель инструментов» - это просто обычный NSView с пользовательским фоном изображения со стандартными NSButton объектами в качестве подпредставлений. Границы кнопок отключены, поэтому все, что вы видите, это значок.

Чтобы получить «встроенный» вид значков, изображения кнопок, скорее всего, шаблонные изображения . Чтобы сделать изображение шаблоном, оно должно состоять только из черного и прозрачного цветов с альфа-каналом. Затем вы вызываете [image setTemplate:YES] для объекта NSImage.

Apple поставляет несколько готовых шаблонных изображений , к которым вы можете получить доступ, используя +imageNamed: метод NSImage.

1 голос
/ 29 января 2012

В случае Xcode это закрытый класс с именем IDENavigatorFilterControlBar, с такой иерархией наследования:

IDENavigatorFilterControlBar
IDEFilterControlBar
DVTBorderedView
DVTAutoLayoutView
NSView

DVT - это префикс, используемый частной платформой Developer Tools.

0 голосов
/ 29 января 2012

Не уверен, что это то, что вы хотите, но вы пробовали Мэтта Джеммелла MGScopeBar ?

...