41

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

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

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

谢谢!

4

4 回答 4

56

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

myLabel.textColor = [UIColor blackColor];
myLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:8.0];
于 2011-01-03T15:33:57.320 回答
6

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

[text drawAtPoint:CGPointMake(x, y) withAttributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:sizeOfFont], NSForegroundColorAttributeName:[UIColor redColor] }];
于 2016-03-29T19:15:56.103 回答
4

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

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

CGContextSelectFont(cgContext, "Arial", 24, kCGEncodingMacRoman);
CGContextSetRGBStrokeColor(cgContext, 1.0f, 1, 1, .5f) ;
CGContextShowTextAtPoint(cgContext, 20, 20, "HI THERE", strlen("HI THERE") ) ;
于 2012-09-22T18:57:37.480 回答
1

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

于 2012-07-13T12:16:07.433 回答