CGContextShowTextAtPoint和空格

为什么下面的代码忽略了空格? 在这里输入图像说明

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”,会产生空白:

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

CGContextShowTextAtPoint()不是使用CoreGraphics显示文本的正确方式,因为误导可能是函数名。 尝试使用CoreText 。