Как настроить NSMenu, как приложения Apple Pro?

Я хочу настроить NSMenu с помощью NSMenuItems, чтобы он выглядел как приложения Apple Pro.

Но как я могу настроить NSMenu? Нет метода рисования для изменения внешнего вида. Если я установлю NSView на NSMenuItem, я смогу установить цвет фона, но потеряю выделение и работу с меню. Кроме того, верхняя и нижняя крышки NSMenu не могут быть изменены.

Я нашел только эту подсказку, но, к сожалению, без кода.

Темный TableView с белым меню и белыми пунктами меню

Буду очень рад помощи!


person Matt    schedule 30.03.2010    source источник
comment
Вы успешно настроили NSMenu?   -  person JJD    schedule 31.01.2012
comment
Я нашел исходники NSMenu и других. Хотя полезной подсказки я там не нашел.   -  person JJD    schedule 31.01.2012
comment
Интересно, было бы полезно получить MenuRef с _NSGetCarbonMenu() как уже упоминалось в этой теме.   -  person JJD    schedule 31.01.2012
comment
Для этого нет решения.   -  person Tim    schedule 08.02.2012
comment
Хотите опубликовать скриншот, иллюстрирующий, чего вы пытаетесь достичь?   -  person paulmelnikow    schedule 09.02.2012
comment
@JJD источники, которые вы нашли, предназначены для GNUStep - они разработаны полностью независимо от Apple Cocoa, хотя и нацелены на реализацию того же API (ну, нацелены на некоторую комбинацию OpenStep / современного Cocoa). Может быть поучительно рассмотреть исходные коды GNUStep, но имейте в виду, что недокументированные или даже задокументированные случаи могут вести себя иначе.   -  person Mark Aufflick    schedule 24.02.2012
comment
Существует закрытый метод _setHasPadding:onEdge:, который можно использовать для удаления верхней и нижней заглушек.   -  person JWWalker    schedule 20.01.2014


Ответы (1)


Трудный ответ: сделать свой собственный подкласс NSMenu, NSMenuItem и т. д. и вручную обрабатывать рисунок, анимацию и т. д.

person valexa    schedule 28.02.2012