在优胜美地可可应用程序中强制Lucida Grande字体

时间:2014-11-27 14:35:42

标签: objective-c xcode cocoa nstextfield osx-yosemite

我的应用中需要一些标签才能使用Lucida Grande。当我在Xcode中指定此字体时,它在xib中正确呈现,但是当您在Yosemite中启动应用程序时,它会切换回Helvetica Neue。

如何让它正常工作?

lucida in xib lucida in app

1 个答案:

答案 0 :(得分:0)

根据Ken的建议,在awakeFromNib()方法中手动设置字体会得到正确的结果。

您可以设置NSTextField的字体属性

[self.myLabel setFont:[NSFont fontWithName:@"Lucida Grande" size:50.f]];

或使用NSAttributedString

NSDictionary *attributes = @{ NSFontAttributeName : [NSFont fontWithName:@"Lucida Grande" size:50] };
NSAttributedString *text = [[NSAttributedString alloc] initWithString:@"Hello" attributes:attributes];
[self.myLabel setAttributedStringValue:text];

有趣的是,在很多情况下,我看到字体名称中带有空格的字体用破折号输入,即@“Lucida-Grande”,这实际上打破了输出,必须省略破折号。