更改属性文本字体大小并保持格式

时间:2016-09-12 17:13:18

标签: ios swift nsattributedstring

我正在从JSON收到的文本中创建一个属性字符串。然后我将该文本放入文本视图中。

    let descriptionVC = BenefitDescriptionViewController()

    let attributedString = try! NSAttributedString(data: descriptionString.data(using: String.Encoding.unicode, allowLossyConversion: true)!, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil)

    descriptionVC.labelString = attributedString

descriptionVC

override func viewDidLoad() {
        super.viewDidLoad()

        // print("Attributed String: \(labelString)")

        if let descriptionString = labelString {
            descriptionTextView.attributedText = descriptionString
            descriptionTextView.textColor = UIColor.white
            descriptionTextView.font = UIFont.systemFont(ofSize: 17.0)
        }
    }

我想保持格式化,例如某些文字是粗体,但要使字体更大。当我尝试增加字体大小时,所有其他格式都会消失。

这是我打印labelString时得到的结果。

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要找到该范围的范围和添加属性。假设,“这是一个测试”。在本文中,您希望将“This”显示为红色和粗体,将“Test”显示为字体大小40和蓝色,然后找到“This”的范围并为该范围添加属性(粗体,红色)。再次找到“测试”的范围并添加该范围的属性(字体大小,蓝色)。