web-dev-qa-db-fra.com

Changer la couleur et la police d'une chaîne à l'aide de NSAttributedString

J'ai une chaîne dans laquelle le dernier mot serait toujours d'une couleur différente par rapport aux autres mots de la chaîne entière, par exemple: si la couleur de la chaîne est noire, le dernier mot de la déclaration serait de couleur rouge. J'utilise pour cela la chaîne NSAttributed comme ci-dessous:

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

Je ferais NSAttributedString similaire pour le dernier mot et le modifierai avec la première chaîne.

Question: Je veux ajouter de la couleur à la chaîne avec la police. Je gère déjà la police à l'aide du dictionnaire. Mais puis-je ajouter le gestionnaire/code de couleur dans le même dictionnaire ou utiliser "addAttribute:" sur NSAttributedString est le seul autre moyen d'ajouter de la couleur ou tout autre attribut?

21
tech_human

Ajoutez la couleur au même dictionnaire que la police:

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