Копирование текста NSTextView - PullRequest
2 голосов
/ 15 февраля 2012

Когда я реализую следующий код, чтобы скопировать текст в объекте NSTextView посредством действия, а затем вручную вставить его в нечто вроде текстового редактора или почтового клиента, вставленный текст представляет собой одну длинную строку.

Как сохранить форматирование текста?

Спасибо.

NSString *string = [outputText string];

NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
[pasteBoard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, nil] owner:nil];
[pasteBoard setString:string forType:NSStringPboardType]

1 Ответ

2 голосов
/ 15 февраля 2012

Вам не нужно ничего делать для копирования NSTextView текста. NSTextView является подклассом NSText и наследует метод copy:.

Чтобы скопировать текущий выделенный текст в буфер обмена, просто наберите [yourTextView copy:self];.

Как объяснено в документах , если ваше текстовое представление настроено на использование расширенного текста, тогда буфер обмена будет содержать простую строку (NSStringPboardType) и приписанную строку (NSRTFPboardType).

...