Как отключить функцию выбора в UITextView? - PullRequest
0 голосов
/ 03 августа 2010

Я хочу создать область отображения текста (UILabel или UITextView) в приложении для iPhone, которая (1) позволяет прокручивать, а (2) не позволяет выбирать. Я пробовал следующие методы безуспешно:

  1. Basic UILabel: не разрешено прокручивая и обрезая текст до нижняя часть пространства UILabel на экране.
  2. Гигантская UILabel в UIScrollView: UILabel продолжала размещать текст (вертикально) в центре гигантской UILabel, поэтому он часто находился вне моего UIScrollView.
  3. UITextView: Пока этот подход работал лучше всего, потому что он прокручивает и не обрезает текст. Я могу даже создать подкласс UITextView, чтобы разрешить изменение размера текста, чтобы оно соответствовало текстовому просмотру , и , передавая любые события касания в суперпредставление для обнаружения касаний и пролистываний . Но когда пользователь касается и удерживает текст, появляется интерфейс выбора текста. Меня не интересует этот интерфейс, и он на самом деле отвлекает пользователя. Я пытался создать подкласс canPerformAction:withSender:, но, очевидно, эта функция называется после события касания, а не до него.

Кто-нибудь знает, как отключить интерфейс выделения текста в UITextView, не отключая при этом прокрутку?

1 Ответ

1 голос
/ 03 августа 2010

Выберите вариант № 2, но установите для свойства numberOfLines на UILabel значение 0.Это установит неограниченное количество строк и предотвратит вертикальное центрирование текста.

Не забудьте установить для свойства lineBreakMode значение UILineBreakModeWordWrap, чтобы текст не исчезалсторона UILabel.

...