我正在尝试从存储在服务器中的JSON文件下载 utf-8 格式的文本,然后将其用作UILabel
中的文本。
现在,我不知道我应该在文本中包含哪些代码,以便有针对性的措辞
1)可以是粗体
2)其字体大小可以更改为,例如18,来自UILabel
例如:
< b>Topic< /b>
(在实践中没有空格&lt;&gt;,只是尽量避免格式化问题...)。
就像,如果我想在句子后打开一个新行,我可以执行以下操作:
“这是第一句话\ r \ n这是第二句”,
它会在UILabel
输出:
This is the first sentence
This is the second sentence
感谢您的帮助!
答案 0 :(得分:1)
你做的方式是知道为Attributed字符串,或者你可以说是格式化的字符串。
当您在字符串中使用HTML实体并且您希望这些HTML实体将根据其标记进行反映时,您必须执行以下操作:
label
。<强>代码强>
将简单字符串转换为属性字符串。
extension String{
func convertHtml() -> NSAttributedString{
guard let data = data(using: .utf8) else { return NSAttributedString() }
do{
return try NSAttributedString(data: data, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue], documentAttributes: nil)
}catch{
return NSAttributedString()
}
}
}
将其指定为属性文本。
self.lblAtt.attributedText = STRHTML2.convertHtml()
示例强>
测试字符串:"hello, <b>john</b>"
输出: