你如何改变UIFont的颜色?

时间:2011-01-03 15:26:36

标签: iphone ios uifont

我在网上搜索过,但我无法得到一个好的答案,虽然我确信这很简单。有人可以告诉我如何执行以下操作:制作一个名为“Helvetica-Bold”的UIFont,尺寸8.0和黑色。

我有名字和大小,但我无法弄清楚如何改变颜色:

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

谢谢!

4 个答案:

答案 0 :(得分:55)

UIFont不包含/维护任何颜色信息,因此无法做到这一点。通常,使用UIFont的控件(如UILabel)具有font和textColor属性。所以你要设置一个标签的字体,它的颜色如下:

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

答案 1 :(得分:4)

如果您在OpenGL中将字体呈现为纹理,您还可以使用CGContext* functions

假设您已经拥有有效的cgcontext:

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

答案 2 :(得分:4)

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

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

答案 3 :(得分:1)

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