NSAttributedString更改颜色和字体大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSAttributedString更改颜色和字体大小相关的知识,希望对你有一定的参考价值。

嗨,我有个小问题,我正在使用func:

static func convertFromhtmlString(_ input: String?) -> NSAttributedString? {

        guard let input = input else { return nil }

        guard let data = input.data(using: String.Encoding.unicode, allowLossyConversion: true) else { return nil  }
        return try? NSAttributedString(data: data, options: [NSAttributedString.DocumentReadingOptionKey.documentType : NSAttributedString.DocumentType.html], documentAttributes: nil)
    }

从具有以下属性的Localizable.strings中读取我的字符串:

String

但是当我运行我的应用程序时,它看起来像:

App screen

这会将我的Label颜色更改为黑色,将字体大小更改为10-12; /我的标签应具有白色和字体大小17,有人知道如何解决它吗?谢谢 ! :)

答案
func convertFromHTMLString(_ input: String?) -> NSAttributedString? {

    guard let input = input else { return nil }

    guard let data = input.data(using: String.Encoding.unicode, allowLossyConversion: true) else { return nil  }


    if let string = try? NSAttributedString(data: data, options: [NSAttributedString.DocumentReadingOptionKey.documentType : NSAttributedString.DocumentType.html], documentAttributes: nil).string
    {
        //Set color and font
        let myAttribute = [ NSAttributedString.Key.foregroundColor: UIColor.white , NSAttributedString.Key.font: UIFont(name: "Chalkduster", size: 17.0)!  ]
        let myAttrString = NSAttributedString(string: string, attributes: myAttribute)
        return myAttrString
    }


    return nil
}

以上是关于NSAttributedString更改颜色和字体大小的主要内容,如果未能解决你的问题,请参考以下文章

仅更改 NSAttributedString 的字体大小

在不丢失 Html 样式的情况下更改 NSAttributedString 中的字体大小 - Swift

ios设置UILabel中文字的不同颜色和字体字号

如何在 iOS 中增加 NSAttributedstring 的字体大小

更改 NSAttributedString html 链接颜色

使用 NSAttributedString 更改字符串颜色?