你如何改变UIFont的颜色?

我search了网页,但是我不能得到一个好的答案,虽然我确信这很简单。 有人可以告诉我如何做到以下几点:制作名为“Helvetica-Bold”,大小为8.0,颜色为黑色的UIFont。

我有名字和大小,但我不知道如何改变颜色:

UIFont *textFont = [UIFont fontWithName:@"Helvetica-Bold" size:8.0]; 

谢谢!

UIFont不包含/保持任何颜色信息,所以这是不可能的。 通常,使用UIFont的控件(如UILabel)具有字体和textColor属性。 所以你会设置一个标签的字体,它的颜色是这样的:

 myLabel.textColor = [UIColor blackColor]; myLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:8.0]; 

如果您有机会在OpenGL中将字体渲染为纹理,您还可以使用CGContext *函数 ,

假设你已经有一个有效的cgcontext:

 CGContextSelectFont(cgContext, "Arial", 24, kCGEncodingMacRoman); CGContextSetRGBStrokeColor(cgContext, 1.0f, 1, 1, .5f) ; CGContextShowTextAtPoint(cgContext, 20, 20, "HI THERE", strlen("HI THERE") ) ; 

如果您正在绘制文字,您可以使用以下function;

 [text drawAtPoint:CGPointMake(x, y) withAttributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:sizeOfFont], NSForegroundColorAttributeName:[UIColor redColor] }]; 

你也可以使用[myLabel setTextColor:[UIColor grayColor]];