Как сделать кликабельный URL / адрес электронной почты / номер телефона на UITextView - PullRequest
6 голосов
/ 11 мая 2011

Я получаю ответ сервера в виде строки, которая может содержать некоторый URL-адрес, адрес электронной почты или номер телефона, т. Е. Одна и та же строка может содержать все три из них или один номер и пару URL-адресов. Ничто не исправлено.

Я использую UITextView, чтобы показать это жало на устройстве. Теперь я хочу, чтобы эти URL / адреса электронной почты / номера телефонов отображались в виде гиперссылок, и при щелчке по этим гиперссылкам пользователь должен видеть веб-страницу, если ее URL, черновик и отправлять электронную почту, если ее адрес электронной почты, или вызывать номер при нажатии на номер гиперссылки

Может кто-нибудь предложить мне способ сделать это. Или предложите использовать любое другое представление данных, которое может упростить задачу

Ответы [ 4 ]

18 голосов
/ 11 мая 2011

Установите типы детектора данных вашего UITextView. Есть несколько вариантов:

UIDataDetectorTypePhoneNumber

UIDataDetectorTypeLink

UIDataDetectorTypeAddress

UIDataDetectorTypeCalendarEvent

UIDataDetectorTypeNone

UIDataDetectorTypeAll

Итак, в вашем случае вы, вероятно, хотели бы сделать:

self.myTextView.dataDetectorTypes = UIDataDetectorTypeAll;
5 голосов
/ 20 сентября 2012

Также обратите внимание, что текстовое представление не должно редактироваться при использовании NSDataDetectorTypes.

Пусть textView будет объектом для UITextView, затем установите:

textView.editable = NO;

тогда только он может обнаружить ссылки, номера телефонов, адреса и т. Д.

0 голосов
/ 23 августа 2018

Добавьте UITextView в Интерфейсном Разработчике.Код не нужен.В инспекторе атрибутов снимите флажок «Редактируемый» и установите флажок «Выбираемый».Проверьте «номер телефона» рядом с детекторами данных.Должно работать для других типов данных.НЕОБХОДИМО отредактировать «Цвет подсказки», иначе он может появиться, поскольку там нет метки (но вы все равно можете нажать, чтобы запустить).(Это прекрасный мир, если вы посмотрите на него правильно!)

0 голосов
/ 11 мая 2011

Вы можете использовать UIButton и изменить название на URL, адрес электронной почты или номер телефона.

Создайте пользовательскую кнопку UIB с соответствующим форматом, чтобы она выглядела как обычное предложение (края и фон кнопки имеют тот же цвет, что и фон представления).

Отформатируйте текст, чтобы он выглядел синим (и необязательно подчеркнутым), например , это , чтобы люди знали, что это гиперссылка.

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