这个问题并没有真正问您表面上的想法。我已经知道如何在Objective-C应用程序中使用自定义字体。问题主要是关于使用自定义字体的细节,主要是-如果我使用的自定义字体假定其他人可能没有安装在其计算机上,它将仍然能够正确渲染它吗?如果有人使用相同的字体,那是否会成为一个因素,我还没有看到任何东西。
另外,与我的问题和接口生成器中的对象是否有联系?谢谢。
最佳答案
自定义字体仅在您的用户也拥有它们时才起作用。否则,字体需要与程序捆绑在一起并以类似于this one的方式加载。始终确保允许您随程序一起分发字体。
-(NSFont*)fontWithName:(NSString*)name height:(CGFloat)height
{
NSURL* fontURL = [NSBundle.mainBundle URLForResource:name withExtension:@"ttf"];
if (fontURL == nil)
{
return nil;
}
CGDataProviderRef dataProvider = CGDataProviderCreateWithURL((CFURLRef)fontURL);
if (dataProvider == NULL)
{
return nil;
}
CTFontRef coreTextFont = NULL;
CGFontRef font = CGFontCreateWithDataProvider(dataProvider);
if (font != NULL)
{
coreTextFont = CTFontCreateWithGraphicsFont(font, height, NULL, NULL);
}
CGDataProviderRelease(dataProvider);
CGFontRelease(font);
return CFBridgingRelease(coreTextFont);
}
关于objective-c - Objective-C应用程序中的自定义字体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23440263/