2014-02-15 5 views
5

Я использую PaintCode для рисования некоторых графических элементов в моем приложении, некоторые из рисованных элементов имеют текст, который нарисован с помощью «drawInRect». Текст всегда отображается черным независимо от того, что я делаю, чтобы установить цвет.Как установить цвет текста при использовании drawInRect?

здесь код, где создается текст, и я пытаюсь установить цвет:

 //// Rounded Rectangle Drawing 
    UIBezierPath* roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(0, 0, 66, 66) cornerRadius: 15]; 
    [[NPSColor NPSPrimaryColor] setFill]; 
    [roundedRectanglePath fill]; 

    UIFont *helveticaFont = [UIFont fontWithName:@"AvenirNextCondensed-Bold" size:50]; 

    NSMutableParagraphStyle *paragraphStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; 
    /// Set line break mode 
    paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping; 
    /// Set text alignment 
    paragraphStyle.alignment = NSTextAlignmentCenter; 

    NSDictionary *attributes = @{NSFontAttributeName:helveticaFont, 
           NSParagraphStyleAttributeName:paragraphStyle}; 


    //// Text Drawing 
    CGRect textRect = CGRectMake(-4, -2.5, 74, 71.5); 
    [[NPSColor whiteColor] set]; 
    [textContent drawInRect: CGRectInset(textRect, 0, 6) withAttributes:attributes]; 

} 

Белый цвет в «текст рисунка» является то, что не работает должным образом. Спасибо за помощь.

+1

Update ваши атрибуты, чтобы включить цвет. – rmaddy

+0

Что такое «NPSColor»? Что произойдет, если вы попробуете что-то вроде «' [[UIColor redColor] set]; '" перед рисованием текста? Выходит ли он красным? –

+0

NPSColor - это обычная категория UIColor ... – Nathan

ответ

14

Вы должны установить цвет текста в «attributes» словаря вы передаете в через:

[textContent drawInRect: CGRectInset(textRect, 0, 6) withAttributes:attributes]; 

Мои предложить бы:

NSDictionary *attributes = @{ NSFontAttributeName:helveticaFont, 
           NSParagraphStyleAttributeName:paragraphStyle, 
           NSForegroundColorAttributeName: [NPSColor whiteColor]} 
+0

Да, это было, мне было трудно найти правильный «NSAttribute» Я попробовал цвет, цвет текста, цвет шрифта ... Я никогда не пробовал «NSFore .... " Спасибо ! – Nathan

Смежные вопросы