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

StackOverflow https://stackoverflow.com/questions/2122449

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top