2017-01-12 4 views
1

HTML 문자열을 읽고 글꼴 크기를 늘리려면 NSMutableAttributedString을 사용하는 데 문제가 있습니다.글꼴 크기 및 HTML 태그 속성이있는 NSMutableAttributedString

입력 HTML : <b>Lorem ipsum</b> dolor sit <i>amet</i></h3>consectetuer</h3> adipiscing elit

그리고 NSMutableAttributedString는 다음과 같이 변환됩니다 :

let htmlData = input.data(using: .utf8)! 

let htmlAttrs = [NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:String.Encoding.utf8.rawValue] as [String : Any] 

do{ 
    let new = try NSMutableAttributedString(data: htmlData, options: htmlAttrs, documentAttributes: nil) 

    let tillEnd = NSRange(location: 0, length: new.length) 
    let attr:UIFont = UIFont.systemFont(ofSize: 25) 

    //new.addAttribute(NSFontAttributeName, value: attr, range: tillEnd) 

    textView.attributedText = new 
} 

이 제대로 HTML 태그를 읽고 출력

HTML properly encoded에게 제공합니다.

글꼴 크기를 늘리고 addAttribute의 주석 처리를 제거하려면 글꼴 크기가 증가하지만 HTML은 렌더링되지 않습니다.

font size increase but html reading gone

나는 모두 글꼴 크기 및 HTML 렌더링과 문자열을 돌렸다 수 있습니까?

+1

정상적인 동작입니다. Italic과 Bold는 UIFont 안에 있습니다 (NSFontAttributeName에서도 마찬가지입니다). 당신은 NSAttributedString의 NSFontAttributeName을 반복 할 필요가있다. 좋은 시작 : http://stackoverflow.com/a/41413014/1801544 (매트 대답, 이전처럼 조지아 같은 새로운 글꼴을 만드는 대신). – Larme

+0

감사합니다. 매트의 답변이 효과가있었습니다. – khanHussain

답변

0

당신은 글꼴 크기 속성을 CSS를 포함 스타일범위 태그의 속성을 사용할 수 있습니다.