1

UITextView обеспечивает очень полезные функции, детекторы данных, которая поддерживает:UITextView в Извещатели опции и текст данных Apperance

  • обнаружения Телефон
  • URL обнаружения Street обнаружения адрес
  • обнаружения событий
  • отслеживания отгрузки номер обнаружение
  • Определение номера рейса, а также
  • Пользователи информации могут захотеть посмотреть до

Я приготовил небольшой образец, чтобы проверить это, и у меня только один вопрос:

Как я могу изменить внешний вид обнаруженного текста?

Изменения применяются к tintColor и/или linkTextAttributes, кажется, работает только для URL, адрес электронной почты и номер телефона. Изменения, применяемые к tintColor или linkTextAttributes свойствам UITextView, похоже, не влияют на такие элементы, как «Событие/Дата или время», «Адрес», «Отправление» и «Номер рейса».

UITextView's Data Detectors option sample

+0

Возможно, вы указали ошибку об этом на странице bugreport.apple.com. Если linkTextAttributes не относится к новым «легким» ссылкам в iOS 10, вероятно, должен быть способ их настройки. –

+0

Ошибка подана. Ссылка # 29660476. – Mustafa

+0

@Mustafa Где вы можете решить эту проблему? – unniverzal

ответ

0

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

Пример обнаружения даты ниже.

let wAS = aTextView.attributedText.mutableCopy() as! NSMutableAttributedString 

let wDateResult = try! NSDataDetector(types: NSTextCheckingResult.CheckingType.date.rawValue).matches(
    in: wAS.string 
, options: NSRegularExpression.MatchingOptions(rawValue: 0) 
, range: NSMakeRange(0, wAS.string.characters.count) 
) 
for w in wDateResult { 
    wAS.addAttributes([ NSForegroundColorAttributeName : UIColor.red ], range: w.range) 
} 

aTextView.attributedText = wAS 
Смежные вопросы