Как мне сделать NSPopupButton, у которого есть меню с изображениями и текстом? - PullRequest
2 голосов
/ 23 января 2010

У меня есть список приложений, и я хотел бы создать NSPopupButton, который показывает меню названий приложений с их значком слева от каждого элемента.

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

Есть ли чистый и простой способ сделать это с помощью привязок? Должен ли я написать собственную ячейку?

Ответы [ 2 ]

6 голосов
/ 23 января 2010

Невозможно связать изображения, а также названия пунктов меню с помощью стандартной кнопки NSPopUpButton. Вам придется создать его подкласс и написать IBPlugin, чтобы открыть подкласс. И, конечно же, вы должны обращаться с клеткой.

Я обнаружил, что смешивание привязок с NSPopUpButton мешает по разным причинам, включая невозможность разделителей и элементов меню, не соответствующих модели, таких как «По умолчанию» или «Все». Рекомендуется использовать другой элемент управления, например список источников, или заполнить и повторно заполнить всплывающее меню вручную.

0 голосов
/ 23 января 2010

NSMenuItem имеет привязку изображения (в разделе «Параметры» вааааааыыыыы вниз). Поэтому я думаю, что вы должны связать это значение с путем в вашем массиве запущенных приложений. Вы можете получить значок для своего приложения, используя общий объект NSWorkspace.

...