iOS在视图的绘图中设置文本颜色

时间:2012-02-29 19:49:07

标签: ios uiview nsstring drawrect

我的代码在UIView子类中的drawRect方法内进行自定义渲染。我正在尝试使用[NSString drawInRect]来渲染文本,但效果很好,但它始终显示为白色。经过大量的谷歌搜索和浏览后,我无法找到如何更改文本的颜色。任何建议都会很棒。

修改 下面是我的drawRect实现中的代码片段

if(self.state != UIControlStateHighlighted)
{
    CGContextSaveGState(context);
    CGContextSetFillColorWithColor(context, color);
    CGContextSetShadowWithColor(context, CGSizeMake(0, 2), 3.0, shadowColor);
    CGContextAddPath(context, path);
    CGContextFillPath(context);
    [title drawInRect:rect withFont:[UIFont fontWithName:@"Helvetica-Bold" size:20]];
    CGContextRestoreGState(context);
}

2 个答案:

答案 0 :(得分:7)

在绘制文字之前,您必须设置颜色。试试这个,

[[UIColor blackColor] set]; 
[title drawInRect:rect withFont:[UIFont fontWithName:@"Helvetica-Bold" size:20]]; 

答案 1 :(得分:3)

您是否尝试过更改当前的填充色?

[[UIColor redColor] setFill];
[string drawInRect:rect withFont:font];