Прежде всего, необходимо включить поддержку расширенного текста, и вы можете сделать это либо в Интерфейсном Разработчике, отметив опцию «Расширенный текст» в инспекторе, либо по коду, используя setAllowsEditingTextAttributes:
.
Тогда это все о NSAttributedString
с.
Большая проблема заключается в том, что вам нужно применить изменения к выделенному тексту. Это невозможно при NSTextField
с. Только с NSTextView
с.
Если вы можете изменить это, продолжайте, и это облегчит вам жизнь. Однако, если вам нужно придерживаться NSTextField
, вы можете обратиться к редактору полей. Каждое окно имеет одно связанное, и это то, что обрабатывает текст за кулисами.
NSTextView *editor = (NSTextView *)[window fieldEditor:YES forObject:myTextField]
Тогда вы можете счастливо вызвать метод NSTextView setSelectedTextAttributes:
.
Узнайте больше о редакторе полей здесь, в Apple и в CocoaDev