2017-02-06 8 views
0

Я получаю текст от API, которые содержат html tags и pictures. Как отобразить его и где мне нужно отображать, я имею в виду UILabel или WebView? Я стараюсь делать с NSAttributedString, но не то, что мне нужно.Как отобразить текст контента с html-тегами и изображениями в swift 3 ios

платформы IOS 9, Swift 3

ответ

3

я найти путь. я в Info.plist

App Параметры безопасности транспорта -> Разрешить Произвольные Грузы -> YES

И изображение отображения.

И код:

DispatchQueue.main.async { 
    let attrStr = try! NSAttributedString(
       data: (self.detailLabelText?.data(using: String.Encoding.unicode, allowLossyConversion: true)!)!, 
       options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], 
       documentAttributes: nil) 

    self.detailLabel.attributedText = attrStr 
    self.detailLabel.textAlignment = NSTextAlignment.justified 
    self.detailLabel.contentMode = .scaleToFill 
    self.detailLabel.font = UIFont(name: "PTSans-Narrow", size: 18.0) 
} 

detailLabel.adjustsFontSizeToFitWidth = true 
detailLabel.sizeToFit() 
+0

Вы спасли мой день, спасибо! – DeZigny

+0

Info.plist был именно тем, чего мне не хватало! –

+0

Что относительно содержимого изображения? он будет удален из uilabel? или он покажет? –

3

вы можете загрузить HTML-теги в WebView, как

func loadHtmlCode() { 
     let htmlCode = "<html><head><title>Wonderful web</title></head> <body><p>wonderful web. loading html code in <strong>UIWebView</strong></></body>" 
     webView.loadHTMLString(htmlCode, baseURL: nil) 
    } 
+0

Это очень простой способ, а не показывать картинки – Zhanserik

+0

проблемы WebView (устаревшее). любой, кто хорошо разбирается в яблоке. потому что webkit имеет навигацию, которая не должна быть разрешена. потому что они будут потеряны на странице –

 Смежные вопросы

  • Нет связанных вопросов^_^