Tôi có một UITableView
và tôi muốn hiển thị văn bản của mỗi hàng bằng các màu khác nhau trong cùng một dòng.Thay đổi màu sắc của văn bản bằng cách sử dụng NSMutableAttributedStrings
Tôi đã thử mã này, cố gắng để dịch từ obj-C nhưng tôi không thể có nó làm việc
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
Kết quả của tất cả điều này là
nơi số 34 tương ứng với object.valueForKey("example1")!.description
, do đó, vấn đề là số lượng là không phải là màu đỏ và phần thứ hai (object.valueForKey("example2")!.description
) được thay thế bằng {
.
Nếu tôi để lại đoạn mã này liên quan đến NSAttributedString
văn bản hàng được hiển thị chính xác.