如何在drawRect(),核心图形期间更改字符串的默认颜色

时间:2012-10-19 21:19:29

标签: objective-c ios core-graphics drawrect

我正在使用以下方法

在矩形中绘制一个字符串
- (void)drawRect:(CGRect)rect {
    .................................................
    .................................................
    for(NSString *titleString in self.titlesArray) {
        CGContextSaveGState(context);                                                 // Pushes a copy of the current graphics state onto the graphics state stack for the context.
        CGRect labelRect = CGRectMake((self.segmentWidth*i), yCoor, self.segmentWidth, self.font.pointSize);
        CGContextAddRect(context, labelRect);                                         // Adds a rectangular path to the current path.
        [titleString drawInRect:labelRect withFont:self.font lineBreakMode:UILineBreakModeClip alignment:UITextAlignmentCenter];
        CGContextRestoreGState(context);
    }
}

结果是

enter image description here

我们可以看到字符串的默认颜色为黑色

问题 :是否可以在drawRect()期间更改字符串的颜色以及如何将其存档。

2 个答案:

答案 0 :(得分:2)

类似的东西:

[[UIColor blueColor] set];

会奏效。如果您希望所有字符串都相同,请将其放在循环之前。

答案 1 :(得分:1)

您可以使用:

CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);