Пользовательский вид какао для NSMenuItem - PullRequest
6 голосов
/ 31 июля 2010

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

app displaying active mounts

Я хочу добавить кнопку извлечения справа от каждого пункта меню (например, на левой панели Finder).Я знаю, что мне нужно создать собственное представление и установить его с помощью метода setView :.Проблема в том, что я новичок в Какао и сейчас не знаю, как погрузиться в тему пользовательского представления.На самом деле, я много программировал, но никогда не работал с интерфейсами :).У кого-нибудь из вас есть хороший учебник по добавлению пользовательского представления в NSMenuItem?

Я думаю, это приложение будет очень удобным, потому что вы можете скрыть смонтированные значки со своего рабочего стола.Проблема в том, что вам всегда нужно возвращаться к искателю, чтобы размонтировать том ...

Спасибо за любую помощь или советы, которые у вас есть!

1 Ответ

2 голосов
/ 31 июля 2010

Это не должно быть пользовательское представление. Это может быть просто стандартный NSView, который действует как контейнер для стандартных элементов управления.

Хитрая часть для новичка делает вид многоразовым. Вам понадобится ваш собственный подкласс NSViewController с соответствующим nib / xib вида (устанавливается с помощью вашей метки имени и кнопки извлечения). Для каждого пункта меню вы создадите новый NSViewController с XIB (-initWithNibName: bundle:) и установите его представляемый объект в точку монтирования. Ваш подкласс контроллера представления будет иметь все необходимое для ответа на нажатие кнопки извлечения, установки метки для пути к представленному объекту и т. Д.

...