iosobjective-cnsattributedstringaddattribute

Change color and font of a string using NSAttributed String


I have a string in which last word would always be of a different color compared to the other words in entire string eg: if the string color is black then last word in the statement would be of red color. I am using NSAttributed string for it as below:

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

I would be making similar NSAttributedString for the last word and will the amend it with first string.

Question: I want to add color to the string along with the font. I am already handling the font using dictionary. But can I add the color handler/code in the same dictionary or using "addAttribute:" on NSAttributedString is the only other way to add color or any other attributes?


Solution

  • Add the color to the same dictionary as the font:

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