我的Mac OS应用程序使用以下代码绘制一些文本:
void drawString(NSString* stringToDraw)
{
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSString* fontName = [NSString stringWithCString: "Helvetica" encoding: NSMacOSRomanStringEncoding];
NSFont* font = [fontManager fontWithFamily:fontName traits:0 weight:5 size:9];
NSMutableDictionary *attribs = [[NSMutableDictionary alloc] init];
[attribs setObject:font forKey:NSFontAttributeName];
[stringToDraw drawAtPoint:NSMakePoint (0, 0) withAttributes:attribs];
}
由于文本绘制只是应用程序的一小部分,因此到目前为止,这种简单的方法已经运作良好。但是现在随着新的Retina显示屏的出现,用户抱怨文本与其他图形相比显得太大。似乎给定绝对字体大小(我的情况下为9)不再起作用。
我该如何修改此代码,以便在Retina和非Retina显示屏上均可正常工作?