【Swift】UITextView로 HTML을 표시해 앵커 태그를 탭 가능하게 한다
하고 싶은 일
UITextView에서 html을 표시하고 앵커 태그를 탭 가능하게 했을 뿐입니다만, 글의 기사를 참고로 해도 구현을 할 수 없었으므로 성공 체험을 공유할 수 있으면 좋겠습니다.
환경
구현
NSAttributedString 형으로 변환할 때에 옵션을 지정해 줄 뿐입니다.
이제 HTML로 표시할 수 있습니다.
textView.attributedText = convertToAttributeString(contents: information.infoContents)
private func convertToAttributeString(text: String) -> NSAttributedString? {
guard let data = text.data(using: .utf8) else { return nil }
do {
return try NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding:String.Encoding.utf8.rawValue], documentAttributes: nil)
} catch {
return nil
}
}
앵커 태그를 탭하면 브라우저에서 열 수 있습니다.
UITextView의 속성을 설정해야 합니다.
포인트는 다음과 같습니다.
textView.attributedText = convertToAttributeString(contents: information.infoContents)
private func convertToAttributeString(text: String) -> NSAttributedString? {
guard let data = text.data(using: .utf8) else { return nil }
do {
return try NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding:String.Encoding.utf8.rawValue], documentAttributes: nil)
} catch {
return nil
}
}
Selectable
를 true 로 한다 Editable
를 false로 Link
를 true 로 한다 User Interaction Enabled
를 true 로 한다 이제 표시되는 링크를 탭하면 Safari가 시작되고 대상 URL이 표시됩니다.
Reference
이 문제에 관하여(【Swift】UITextView로 HTML을 표시해 앵커 태그를 탭 가능하게 한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Crea7/items/5fcd7a53753e0832283f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)