1

UITextView가 매우 유용한 데이터 감지기 기능을 제공, 그 지원이 UITextView의 데이터 감지기 옵션 및 텍스트 겉 모양

  • 전화 번호 감지
  • URL 탐지 거리 주소 검색
  • 이벤트 감지
  • 선적 추적 번호를 탐지
  • 비행 번호 탐지 및
  • 정보 사용자는

까지 나는 그것을 테스트하기 위해 작은 샘플을 준비, 난 그냥 하나 개의 질문이 :

이 어떻게 감지 텍스트의 모양을 변경할 수 있습니다

? tintColor 및/또는 linkTextAttributes에 적용

변경은 URL, 이메일 및 전화 번호를 작업 표시됩니다. UITextView의 tintColor 또는 linkTextAttributes 속성에 적용된 변경 사항은 이벤트/날짜 또는 시간, 주소, 배송 번호 및 항공편 번호와 같은 항목에는 영향을 미치지 않습니다.

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