У меня есть файл RTF, с помощью которого я смог получить содержимое как данные (я хочу, чтобы он был в данных, чтобы использовать его в другом месте в коде). Тем не менее, я хотел бы добавить стиль к шрифту attributedString, прежде чем назначать метку. Меня поразило, как применять эти атрибуты в приведенном ниже коде. Пожалуйста, посоветуйте, как я могу добиться того же. Вот мой код

let rtfData = getRTFData()
guard let data = rtfData else {
        return
    }
if let attributedString = try? NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.rtf], documentAttributes: nil) {
        myLabel.attributedText = attributedString
 }

Здесь я хотел добавить атрибуты к attributedString, например let boldAttributes: [NSAttributedString.Key: Any] = [.font: UIFont.boldSystemFont(ofSize: 14)] и примените эти атрибуты к attributedText

0
Ashh 11 Фев 2021 в 00:45

1 ответ

Лучший ответ

Если вы хотите добавить атрибут шрифта к существующим атрибутам, он должен работать:

if let attributedString = try? NSMutableAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.rtf], documentAttributes: nil) {
   var attrs = attributedString.attributes(at: 0, effectiveRange: nil)
   attrs[NSAttributedString.Key.font] = UIFont.boldSystemFont(ofSize: 14)
   attributedString.setAttributes(attrs, range: NSRange(location: 0, length: attributedString.length))
   myLabel.attributedText = attributedString
}
0
ScorpiCon 10 Фев 2021 в 21:59