NSAttributedString изменить цвет и размер шрифта - PullRequest
1 голос
/ 28 января 2020

Привет, ребята, у меня небольшая проблема, я использую забаву c:

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

Это меняет цвет моей метки на черный и размер шрифта примерно 10-12; / Мой ярлык должен иметь белый цвет и размер шрифта 17, кто-нибудь знает, как это исправить? Спасибо ! :)

@ Edit1 Решение должно выглядеть следующим образом Android version Вот так оно выглядит на Android.

1 Ответ

0 голосов
/ 28 января 2020
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
}
...