Как насчет подклассов NSTokenField
и / или NSTokenFieldCell
?
Вы можете использовать tokenizingCharacterSet
в сочетании с componentsSeparatedByCharactersInSet:
для NSString, чтобы получить список токенов и затем нарисовать их, как вам захочется.
Вы также сможете полностью реагировать на события мыши, как вам угодно (с помощью методов NSCell для Отслеживание мыши )