Как мне сделать NSPopupButton, у которого есть меню с изображениями и текстом?

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

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

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

2 ответа

Решение

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

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

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

Другие вопросы по тегам