Мне нужно получить уведомление, когда пользователь вставляет данные в NSTextView, чтобы лишить его любых запрещенных типов данных (URL-ссылки и т. Д.). Я не хочу использовать NSTextStorageDelegate textStorageDidProcessEditing: потому что он вызывается, когда пользователь просто печатает. Как я могу получать уведомления о пасте?NSTextView: как получать уведомления, когда пользователь вставляет данные?
0
A
ответ
0
, реализующий метод NSTextStorageDelegate: - (void)textStorageDidProcessEditing:(NSNotification *)notification
фиксирует любой текстовый ввод. Я не видел замедления обработки, поэтому я пойду с этим.
0
Подкласс NSTextView
и переопределите метод paste:
, чтобы уведомить вас о пасте после прохождения по адресу super
.
+0
Я не вижу, как использовать метод paste:. сигнатурой метода является '- (void) paste: (id) отправитель. Нет документов о том, как их реализовать. Вероятно, моя проблема, но мой ответ ниже работал. –
Почему это имеет значение, если вы вставляете URL-адрес или набираете его? – Eiko
Если вы хотите стирать типы данных, вам нравится звук, который вы действительно хотите переключить на редактирование обычного текста. –
Требования к проекту заключаются в необходимости выделения курсива и подчеркивания. –