Как сделать UITextView, который поддерживает URL-ссылки и может быть отредактирован? - PullRequest
1 голос
/ 07 октября 2009

У меня есть UITextView, который правильно отображает URL-адреса таким образом:

contentView.editable = NO;
contentView.dataDetectorTypes = UIDataDetectorTypeAll;

Моя цель - сделать так, чтобы вы по-прежнему могли нажимать на это текстовое представление, чтобы редактировать его текст в определенном месте (как встроенное приложение Notes). Таким образом, если вы нажмете на ссылку, он запустит браузер, но если вы нажмете где-нибудь еще, он начнет редактировать в точке, где вы нажали. Должно быть легко, правда?

Не так далеко. Создание подкласса UITextView и переопределение touchesEnded дает вам возможность установить для редактирования значение YES. Но когда вы это делаете, текстовое представление не запоминает, где вы нажали (selectedRange не устанавливается должным образом), поэтому редактирование всегда начинается внизу текстового представления.

Я даже пытался использовать недокументированный метод setSelectionWithPoint, но он не работает так, как вы ожидаете.

Может кто-нибудь придумать, как добиться правильного редактирования UITextView с помощью нажатия с помощью вставляемых ссылок?

1 Ответ

0 голосов
/ 07 октября 2009

Возможно, вы можете попытаться сохранить UITouch и UIEvent или подделать копии, используя пользовательские классы с одинаковыми сигнатурами классов, а затем повторно отправить события touchesBegan: и touchesEnded: после установки для редактирования значения YES.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...