CGContextShowTextAtPoint和空格

时间:2011-03-25 05:50:58

标签: iphone ios core-graphics core-text

为什么以下代码忽略了空格? enter image description here

UIColor *textColor = [UIColor colorWithRed:153.0/255.0 green:102.0/255.0 blue:51.0/255.0 alpha:1.0];
CGContextSetFillColorWithColor(ctx, [textColor CGColor]);
CGContextSelectFont(ctx, "Helvetica Neue Bold" , 14, kCGEncodingMacRoman);
CGContextSetTextMatrix(ctx, CGAffineTransformMakeScale(1, -1)); 
CGContextSetShadowWithColor(ctx, CGSizeMake(0.0, 1.0), 1.0, [[UIColor whiteColor] CGColor]);
//CGContextSetAllowsAntialiasing(ctx, YES);

NSString *str = @"test1   test2";
CGContextShowTextAtPoint(ctx, 5, 17, [str UTF8String], str.length);

将字体名称更改为“Helvetica Neue”会产生空格:

有谁知道这里发生了什么?

1 个答案:

答案 0 :(得分:4)

CGContextShowTextAtPoint()不是使用CoreGraphics显示文本的正确方法,因为该函数名称可能具有误导性。请改为CoreText