Swift로 UIlabel에 HTML을 표시하는 방법
3587 단어 Swift
Swift로 UIlabel에 HTML을 표시하는 방법
Objectiver-C와 다를 게 없지만 조금 헷갈려서 적어놨어요.
주) UIlabel이기 때문에 표현할 수밖에 없다a> 탭에서 링크를 클릭하려면 UIWebView를 사용하십시오
샘플 항목
샘플 코드
var htmlText = "空は<font color=\"blue\">青い</font>。<br>" +
"An apple is <font color=\"red\">red</font>."
var err:NSError?
self.htmlLabel.attributedText = NSAttributedString(
data: htmlText.dataUsingEncoding(NSUnicodeStringEncoding, allowLossyConversion: true),
options: [NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType],
documentAttributes: nil,
error: &err)
self.htmlLabel.font = UIFont(name: "System", size: 14)
실행 결과
주안점
NSAttributedString
기본적으로 아래 링크(Obj-C), NSAttributedString을 사용하여 HTML 변환
http://stackoverflow.com/questions/15872257/display-html-text-in-uilabel-iphone
NSError 는 optional 에서
NSError 값은 nil 값이어야 합니다.옵션형 사용하세요.
이걸 잊어버리면 "Extra argument'data'in call"등 전혀 상관없는 컴파일 오류가 발생합니다
font 구성
HTML이 표시되면 Storyboard에서 설정한 System 글꼴이 영문 글꼴로 올바르지 않습니다.
그런 다음 UIFont에서 설정합니다.
Swift에서 fontWithName은 추천하지 않습니다. init로 font를 설정합니다.
UIlabel의 링크는 0입니다.
HTML에 국한되지 않지만, 2줄 이상을 표시하려면 UIlabel 값이 변경될 수 있습니다.
StoryBoard에서 UIlabel의 Linus를 0으로 설정하세요.
Reference
이 문제에 관하여(Swift로 UIlabel에 HTML을 표시하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/satomikko94/items/31ce11a7b525552d4742텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)