这个问题并没有真正问您表面上的想法。我已经知道如何在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/

10-11 00:33
查看更多