Есть ли способ заблокировать копирование / вставку из textview? - PullRequest
3 голосов
/ 06 января 2011

Мне нужен способ отключить автоматический выбор из UITextView .

alt text

Я снял все атрибуты с интерфейсастроитель, но когда я касаюсь текста, появляется выбор!

Есть решение?А магические трюки?

спасибо.

Ответы [ 2 ]

5 голосов
/ 06 января 2011

Вам необходимо создать подкласс UITextView и переопределить метод canPerformAction.

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
    if (action == @selector(copy:)
        return NO;
    return [super canPerformAction:action withSender:sender];
}

Значения селектора, которые можно ожидать от canPerformAction, можно найти в справочнике по протоколу UIResponderStandardEditActions

Справка по классу UIResponder также поможет.

canPerformAction: withSender:

Это реализация по умолчанию этого методавозвращает YES, если класс респондента реализует запрошенное действие, и вызывает следующего респондента, если это не так.Подклассы могут переопределять этот метод для включения команд меню на основе текущего состояния;например, вы должны включить команду «Копировать», если есть выбор, или отключить команду «Вставить», если на монтажной панели не было данных с правильным типом представления монтажной панели.Если ни один респондент в цепочке респондентов не возвращает ДА, команда меню отключается.

0 голосов
/ 06 января 2011

Посмотрите на Ссылка на класс UIResponder

Так что создайте подкласс UITextView, который переопределяет метод canPerformAction:withSender:, и возвращайте 'NO' для каждого действия, которое вам не нужновыступить на textview.

...