Как анализировать и показывать гиперссылки (номера телефонов / адреса электронной почты и т. Д.) В UILabel?

Почти везде в iPhone вы можете вводить текст, и ОС распознает часть текста как гиперссылки (например, номера телефонов, адреса электронной почты). Однако я проверил это в своем собственном приложении с UILabel, и это не работает. Как мне это активировать?

Предоставляет ли iphone SDK эту функциональность из коробки, или мне самому приходится выполнять логику разбора (что требует много работы)?

 Ben Gotow05 июл. 2009 г., 22:05
Я думаю, что UILabel - довольно примитивный класс - он просто отображает текст с применением определенных шрифтов. Может быть, попробовать UITextField?
 erotsppa05 июл. 2009 г., 22:30
Нет, только что проверил, UITextField тоже не разбирает.

Ответы на вопрос(2)

Three20 проект.

 Kendall Helmstetter Gelner06 июл. 2009 г., 06:18
Из того, что я вижу в источнике, он представляет текст в разных стилях, но ничего не делает для представления ссылок.
 Ramin06 июл. 2009 г., 07:20
Если вы запускаете пример кода TTCatalog, в разделе «Стилизованные метки» есть раздел, в котором отображаются URL-адреса, автоматически преобразованные в живые ссылки. Стиль можно контролировать с помощью CSS. Это намного легче, чем UIWebView. Кроме того, в разделе «Ячейки таблицы» есть ячейка внешней ссылки, которая вызывает внешний URL-адрес.
Решение Вопроса

UITextView *myView = [[UITextView alloc] initWithFrame: frame];
myView.text = @"this is http://google.com link";
myView.editable = NO;
myView.dataDetectorTypes = UIDataDetectorTypeLink;
//cell is the TableView's cell    
[cell.contentView addSubview:myView];
[myView release];

Ваш ответ на вопрос