Я пытаюсь добавить несколько атрибутов в NSMutableAttributedString; я попытался это:Добавить несколько атрибутов в NSMutableAttributedString
let stringNumero: NSString = "\(squadra.cori.count)" //= two-digit number
var stringNumeroMutable = NSMutableAttributedString()
stringNumeroMutable = NSMutableAttributedString(string: stringNumero as! String, attributes: [NSFontAttributeName: UIFont(name: "Noteworthy-Light", size: 9)!,
NSForegroundColorAttributeName: UIColor(red: 110/255.0, green: 183/255.0, blue: 93/255.0, alpha: 1.0)])
cell.numeroCori.attributedText = stringNumeroMutable
теперь я хотел бы добавить другие атрибуты и я буду УСО этот код:
stringNumeroMutable.addAttribute(NSFontAttributeName, value: UIFont.boldSystemFontOfSize(8), range: NSRange(location: 0, length: 1))
но я подвергаясь в задаче:
Как вы видите, смелый эффект приписывается только первой цифре, а предыдущие атрибуты (такие как шрифт) исчезают. Я думаю, что второе NSFontAttributedName подписывается на предыдущий, так есть ли способ установить шрифт и полужирный? Спасибо большое !!!
Edit: как это было предложено я попытался вспомнить метод как это:
let stringNumero: NSString = "\(squadra.cori.count)" //= two-digit number
var stringNumeroMutable = NSMutableAttributedString()
stringNumeroMutable = NSMutableAttributedString(string: stringNumero as! String, attributes: [NSFontAttributeName: UIFont(name: "Noteworthy-Light", size: 9)!,
NSForegroundColorAttributeName: UIColor(red: 110/255.0, green: 183/255.0, blue: 93/255.0, alpha: 1.0)])
cell.numeroCori.attributedText = stringNumeroMutable
stringNumeroMutable.addAttribute(NSFontAttributeName, value: UIFont.boldSystemFontOfSize(9), range: NSRange(location: 0, length: stringNumeroMutable.length))
cell.numeroCori.atributedText = stringNumeroMutable
, но второй вызов перезаписать первый (так что число потерять приписываемую шрифт). Как это решить?
Я думаю, вам нужно установить «длина» на 2 –
@ ТихоновАлександр, если я установил длину до 2, приложение вылетает с индексом вне диапазона. -Я не знаю, как это можно установить ... –
Собственно, после второго вызова 'stringNumeroMutable.addAttribute' вам нужно снова установить' cell.numeroCori.attributedText = stringNumeroMutable'. И insted из 'NSRange (location: 0, length: 1)' вы должны использовать 'NSRange (location: 0, length: stringNumeroMutable.length)' –