2013-10-11 14 views
20

Ho una stringa in cui l'ultima parola sarebbe sempre di un colore diverso rispetto alle altre parole in tutta la stringa ad esempio: se il colore della stringa è nero, l'ultima parola nell'istruzione sarebbe di colore rosso. Sto usando stringa NSAttributed per come qui sotto:Cambia colore e carattere di una stringa usando NSAttributo String

NSDictionary *attrDict = [NSDictionary dictionaryWithObject:[UIFont fontWithName:Arial size:16.0] forKey:NSFontAttributeName]; 
NSMutableAttributedString *AattrString = [[NSMutableAttributedString alloc] initWithString:@"This is a" attributes: attrDict]; 

mi sarebbe fare NSAttributedString simile per l'ultima parola e sarà la modifica con prima stringa.

Domanda: Voglio aggiungere colore alla stringa insieme con il tipo di carattere. Sto già gestendo il font usando il dizionario. Ma posso aggiungere il gestore di colori/codice nello stesso dizionario o usare "addAttribute:" su NSAttributedString è l'unico altro modo per aggiungere colore o altri attributi?

risposta

54

Aggiungere il colore per lo stesso dizionario come il tipo di carattere:

NSDictionary *attrDict = @{ 
    NSFontAttributeName : [UIFont fontWithName:Arial size:16.0], 
    NSForegroundColorAttributeName : [UIColor redColor] 
};