Пользовательские токены в NSTokenField - PullRequest
3 голосов
/ 28 июля 2011

Есть ли способ иметь собственные токены внутри NSTokenField?Под «пользовательским» я подразумеваю, что я хотел бы нарисовать их пользовательским способом - пользовательское наведение, фоновое изображение и т. Д.

Ответы [ 2 ]

7 голосов
/ 02 декабря 2013

Это можно сделать без использования частных API.NSTokenField - это просто NSTextField, который разумно использует поддержку для поддержки пользовательских ячеек вложения.Его настройка требует некоторого понимания сложных NSTextStorage / NSLayoutManager / NSAttachmentCell взаимодействий, но одну хорошую реализацию настраиваемых токенов с открытым исходным кодом можно увидеть по адресу: https://github.com/octiplex/OEXTokenField

4 голосов
/ 02 августа 2011

Да, это возможно, но вам придется прибегнуть к использованию частных API, которые вам не нужны, если вы собираетесь опубликовать свое приложение в Mac App Store. Я связался с Apple по этому поводу, и они подтвердили, что без частных API невозможно сделать это - если нужно появление различий с использованием только публичных API, необходимо создать собственный элемент управления с нуля.

Если вы все еще хотите сделать это с помощью частных API, изучите BWToolkit. BWTokenField использует эти частные API для изменения внешнего вида токена. Это должно быть хорошей отправной точкой. Но требуется время, чтобы все это понять и настроить, пока не получится желаемый эффект.

...