ios - 更改属性文本字体大小并保留格式

标签 ios swift nsattributedstring

我正在根据从 JSON 接收的文本创建属性字符串。然后我将该文本放入 TextView 中。

    let descriptionVC = BenefitDescriptionViewController()

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

    descriptionVC.labelString = attributedString

描述VC

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

最佳答案

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

关于ios - 更改属性文本字体大小并保留格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39455455/

相关文章:

ios - 从模态窗口调用父 View Controller 的方法时出错

ios - 无法保存 AFNetworking responseObject

iphone - 检测导航栏上的 'back' 按钮何时被按下

iOS:在文本 UILabel 周围绘制边框

ios - 在定时器中运行 UIView.animate

ios - SKStoreProductViewController 不显示任何内容

Swift:将多个 UnsafeMutablePointers 附加到一个

ios - 如何在 UILabel 文本的开头将图像放在 UILabel 中?

ios - 逐字符向 NSMutableAttributedString 添加属性

ios - 在 iOS 7 中使用系统字体时,NSAttributedString double "ff"计为 single "f"