8

我一直在使用 PaintCode 在我的应用程序中绘制一些图形,一些绘制的元素具有使用“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];

}

“文本绘图”中的白色是无法正常工作的。感谢您的帮助。

4

1 回答 1

19

您需要attributes在通过以下方式传入的“”字典中设置文本的颜色:

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

我的建议是:

NSDictionary *attributes = @{ NSFontAttributeName:helveticaFont,
                              NSParagraphStyleAttributeName:paragraphStyle,
                              NSForegroundColorAttributeName: [NPSColor whiteColor]}
于 2014-02-15T22:21:28.867 回答