J'utilise NSAttributedString
pour convertir chaîne html à attributedString
. Je l'ai converti mais label
dans la cellule ainsi j'ai écrit le code ci-dessous dans cellForRowAtIndex
, quand j'applique ce codeview de table ne défilant pas lisse. Si je supprime ceci avec un simple texte, il défile doucement.UITableView défilement pas lisse en raison de NSAttributedString
cell.lblDescription.setHTMLFromString(htmlText: model.strItineraryDescription)
je convertir html string
à attributed string
extension UILabel {
func setHTMLFromString(htmlText: String) {
let modifiedFont = NSString(format:"<span style=\"font-family: '-apple-system', 'HelveticaNeue'; font-size: \(self.font!.pointSize)\">%@</span>" as NSString, htmlText) as String
//process collection values
let attrStr = try! NSAttributedString(
data: modifiedFont.data(using: .unicode, allowLossyConversion: true)!,
options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue],
documentAttributes: nil)
self.attributedText = attrStr
}
}
Mon html string
est
<strong><u>Featured Program</u></strong></p>
\n<ol>
\n <li>Arrival at Delhi airport. You will receive by our representative.</li>
\n <li>Driving to Agra and exploring the city.</li>
\n <li>Back to Hotel for Overnight stay.</li>
\n</ol>
\n<p><strong>City Features</strong></p>
\n<ol>
\n <li><strong>Visit to Agra Fort \U2013 </strong>Former Name Badalgarh, Shah-Jahan spent his last eight years here. You can watch the mesmerizing view of Taj Mahal from this fort just like Shah Jahan.</li>
\n <li><strong>Visit to Taj Mahal \U2013</strong> It took 21 years to build and stood in 1653. The palace is considered as the symbol of love. Shah Jahan built this wonder in the memory of his wife Mumtaj Mahal.</li>
\n</ol>
\n<p><strong>(Both Agra Fort and Taj Mahal are UNESCO Declared world heritage site)</strong>
Réponse de NeverHopeless est le moyen idéal pour mettre en œuvre vos besoins. @NeverHopeless bien !!! +1 – Shardul
@Shardul, merci. – NeverHopeless