Как можно перехватить вставку в NSTextView, чтобы удалить неподдерживаемое форматирование?

Я пытаюсь создать простое окно на основе NSTextView для простого редактирования WYSIWYG. Однако я хотите разрешить только определенные типы форматирования (например, полужирный, курсив, подчеркивание и один тип заголовка, но без цветов или разных шрифтов).

Проблема в том, что если я просто использую NSTextView, кто-то может создавать или копировать форматированный текст в другой программе , затем просто вставьте его в это представление, и вместе с ним будет выполнено все форматирование, разрешая вещи, которые я не разрешаю, например разные шрифты, цвета и т. д.

В лучшем случае я хочу автоматически удалить любое форматирование, которое мое приложение не поддерживает. В худшем случае я хочу просто перехватить вставку и изменить ее на обычный текст, хотя им придется затем вручную переформатировать ее. Но это предпочтительнее, чем недопустимое форматирование.

Примечание: нечто подобное уже было спрашивали здесь, в SO несколько раз, но обычно они имеют в виду Интернет или используя JavaScript / JQuery. Я специально имею в виду использование NSTextView в приложении Mac, поэтому, пожалуйста, прежде чем просто пометить это как дубликат, убедитесь, что это то, к чему относится другой вопрос. Спасибо.

8
задан MarqueIV 20 November 2011 в 01:31
поделиться