UITextView, запрещающий текстовый выбор

http://www.jesscoburn.com/archives/2008/10/02/quickly-configure-or-disable-etags-in-iis7-or-iis6/ имеет хорошее графическое руководство.

По существу, Вы создаете пользовательский заголовок ответа под названием Завершающий тег и делаете его значение пустым.

39
задан Cœur 31 December 2018 в 18:44
поделиться

3 ответа

Если вы просто хотите предотвратить его редактирование, установите для свойства «editable» UITextView значение NO / False.

Если вы пытаетесь оставить его редактируемым, но не доступным для выбора, это будет сложно. Возможно, вам потребуется создать скрытое текстовое представление, в которое пользователь может ввести текст, а затем заставить UITextView наблюдать это скрытое текстовое представление и заполнить себя текстом текстового представления.

5
ответ дан 27 November 2019 в 02:01
поделиться

Вы пытались установить для userInteractionEnabled значение NO для своего UITextView? Но вы также потеряете прокрутку.

Если вам нужна прокрутка (вероятно, поэтому вы использовали UITextView, а не UILabel), вам нужно проделать больше работы. Возможно, вам придется переопределить canPerformAction: withSender: , чтобы вернуть NO для действий, которые вы не хотите разрешать:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
    switch (action) {
        case @selector(paste:):
        case @selector(copy:):
        case @selector(cut:):
        case @selector(cut:):
        case @selector(select:):
        case @selector(selectAll:):
        return NO;
    }
    return [super canPerformAction:action withSender:sender];
}

Для получения дополнительной информации, UIResponderStandardEditActions .

1
ответ дан 27 November 2019 в 02:01
поделиться

Похоже, на самом деле вам нужен гигантский UILabel внутри UIScrollView, а не UITextView.

обновление: если вы используете более новые версии iOS, UILabel теперь имеет свойство lines:

Множественные строки текста в UILabel

9
ответ дан 27 November 2019 в 02:01
поделиться