Mam UITableView
i chciałbym wyświetlić tekst każdego wiersza za pomocą różnych kolorów w obrębie tej samej linii.Swift zmienić kolor tekstu za pomocą NSMutableAttributedStrings
Próbowałem ten kod, starając się tłumaczyć z Obj-C, ale nie mogę mieć to działa
let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as NSManagedObject
var attrString: NSMutableAttributedString = NSMutableAttributedString(string: object.valueForKey("example1")!.description)
attrString.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSMakeRange(0, attrString.length))
var stringToCell:String = String(format: "%@ %@", attrString, object.valueForKey("example2")!.description)
cell.textLabel?.text = stringToCell
Wyjście to wszystko
gdzie liczba 34 odpowiada object.valueForKey("example1")!.description
, więc problem polega na tym, że numer jest nie czerwony, a druga część (object.valueForKey("example2")!.description
) jest zastąpiona przez {
.
Jeśli zostawiam ten fragment kodu w odniesieniu do NSAttributedString
, tekst wiersza zostanie wyświetlony poprawnie.