代码之家  ›  专栏  ›  技术社区  ›  Airsource Ltd

我可以在iPhone应用程序中嵌入自定义字体吗?

  •  755
  • Airsource Ltd  · 技术社区  · 17 年前

    此问题与iOS 3.2之前版本有关。从3.2开始,使用下面的samvermette的答案可以很容易地实现这个功能,并且我已经将接受的答案(从command改为samvermette)更改为反映这一点。我不能把这两个答案都归功于(除了赞成票),但它们都是好的。

    我想让一个应用程序包含一个自定义字体来呈现文本,加载它,然后与标准一起使用 UIKit 类元素 UILabel . 这有可能吗?

    我发现以下链接:

    但这些都需要我自己呈现每个字形,这有点像刻苦的工作,特别是对于多行文本。

    我还发现一些帖子直截了当地说这是不可能的,但没有理由,所以我正在寻找一个明确的答案。


    编辑 -失败 -[UIFont fontWithName:size:] 实验

    我下载了harrowprint.tff(下载自 here )并将其添加到我的资源目录和项目中。然后我尝试了这个代码:

    UIFont* font = [UIFont fontWithName:@"Harrowprint" size:20];
    

    导致引发异常。查看finder中的ttf文件,确认字体名是harrowprint。


    编辑 -到目前为止,有很多回复告诉我要阅读x或y上的文档。我已经对所有这些进行了广泛的实验,但一无所获。在一个案例中,X只与OS X相关,而与iPhone无关。因此,我为这个问题设置了一个赏金,并且我将把赏金授予第一个提供答案(仅使用文档化的API)的人,他们用足够的信息响应,以便在设备上工作。在模拟器上工作也是一种奖励。


    编辑 -看来,赏金汽车奖的答案与最高的票数。有趣。实际上,没有人能回答你提出的问题——这个解决方案需要你自己编写代码。 乌拉贝尔 子类不支持自动换行,这是我的一个基本特性——尽管我想我可以扩展它来实现这一点。

    32 回复  |  直到 17 年前
        1
  •  632
  •   Juan Carlos Méndez    12 年前

    iOS 3.2及更高版本支持此功能。直接从 iPhone OS 3.2的新功能 博士:

    自定义字体支持
    希望使用自定义字体的应用程序现在可以在其应用程序包中包含这些字体,并通过在info.plist文件中包含uiappfonts键在系统中注册这些字体。该键的值是一个字符串数组,用于标识应用程序捆绑包中的字体文件。当系统看到该键时,它将加载指定的字体,并使它们对应用程序可用。

    一旦在 Info.plist ,您可以将自定义字体用作ib或编程中的任何其他字体。

    苹果开发者论坛上有一个持续的主题:
    https://devforums.apple.com/thread/37824 (需要登录)

    下面是一个关于如何实现这一点的非常简单的3步教程(删除了断开的链接)

    1. 使用Xcode作为资源将自定义字体文件添加到项目中
    2. 为您的 幻灯片 文件调用 UIAppFonts .
    3. 使此键成为数组
    4. 对于每个字体,输入字体文件(包括扩展名)的全名作为 UIAppPosits 数组
    5. 保存 幻灯片
    6. 现在,在应用程序中,您可以简单地调用 [UIFont fontWithName:@"CustomFontName" size:12] 获取自定义字体以用于 乌拉贝尔斯 UITExtVIEW

    另外:确保字体在您的复制包资源中。

        2
  •  295
  •   Rishil Patel Rams    8 年前

    编辑:从iOS 3.2开始,此功能是内置的。如果您需要支持3.2之前的版本,您仍然可以使用此解决方案。

    我创建了一个简单的模块,扩展了 UILabel 处理加载.ttf文件。我在Apache许可下发布了它opensource,并将它放到了Github上。 Here.

    重要的文件是 FontLabel.h FontLabel.m .

    它使用了来自 Genericrich's answer .

    浏览源 Here.

    • 将字体文件复制到资源中

    • 为您的 Info.plist 名为uiappfonts的文件。(应用程序提供的字体)

    • 使此键成为数组

    • 对于您拥有的每个字体,输入字体文件(包括扩展名)的全名作为uiappfonts数组的项。

    • 保存 幻灯片

    • 现在,在应用程序中,您可以简单地调用 [UIFont fontWithName:@"CustomFontName" size:15] 获取自定义字体以用于 UILabels UITextViews

    For More Information

        3
  •  113
  •   Community Mohan Dere    9 年前

    有一种简单的方法可以在 IOS 4 .

    1. 添加字体文件(例如, Chalkduster.ttf 资源 Xcode中项目的文件夹。
    2. 正常开放 info.plist 并添加一个名为 UIAppFonts . 此键的类型应为数组。
    3. 将自定义字体名称添加到此数组,包括扩展名( 去污剂 )
    4. 现在你可以使用 [UIFont fontWithName:@"Chalkduster" size:16] 在您的应用程序中。

    不幸的是,ib不允许用自定义字体初始化标签。见 this question 解决这个问题。我最喜欢的解决方案是使用自定义 UILabel 子类:

    @implementation CustomFontLabel
    
    - (id)initWithCoder:(NSCoder *)decoder
    {
        if (self = [super initWithCoder: decoder])
        {
            [self setFont: [UIFont fontWithName: @"Chalkduster" size: self.font.pointSize]];
        }
        return self;
    }
    
    @end
    
        4
  •  50
  •   bdev Serena    13 年前

    在info.plist中,添加“应用程序提供的字体”条目,并将字体名称作为字符串包含:

    Fonts provided by application
               Item 0        myfontname.ttf
               Item 1        myfontname-bold.ttf
               ...
    

    然后检查以确保您的字体包含在运行中:

    for (NSString *familyName in [UIFont familyNames]) {
        for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
             NSLog(@"%@", fontName);
        }
    }
    

    请注意,TTF文件名可能与设置标签字体时使用的名称不同(可以使用上面的代码获取“fontWithName”参数):

    [label setFont:[UIFont fontWithName:@"MyFontName-Regular" size:18]];
    
        5
  •  36
  •   rpetrich    15 年前

    编辑:此答案从IOS3.2起失效;使用uiappfonts

    唯一能成功加载自定义的方法 UIFont 通过私有的graphicssservices框架。

    下面将加载所有 .ttf 应用程序主包中的字体:

    BOOL GSFontAddFromFile(const char * path);
    NSUInteger loadFonts()
    {
        NSUInteger newFontCount = 0;
        for (NSString *fontFile in [[NSBundle mainBundle] pathsForResourcesOfType:@"ttf" inDirectory:nil])
            newFontCount += GSFontAddFromFile([fontFile UTF8String]);
        return newFontCount;
    }
    

    一旦字体被加载,它们就可以像苹果提供的字体一样使用:

    NSLog(@"Available Font Families: %@", [UIFont familyNames]);
    [label setFont:[UIFont fontWithName:@"Consolas" size:20.0f]];
    

    如果将来API消失,甚至可以在运行时加载graphicssservices:

    #import <dlfcn.h>
    NSUInteger loadFonts()
    {
        NSUInteger newFontCount = 0;
        NSBundle *frameworkBundle = [NSBundle bundleWithIdentifier:@"com.apple.GraphicsServices"];
        const char *frameworkPath = [[frameworkBundle executablePath] UTF8String];
        if (frameworkPath) {
            void *graphicsServices = dlopen(frameworkPath, RTLD_NOLOAD | RTLD_LAZY);
            if (graphicsServices) {
                BOOL (*GSFontAddFromFile)(const char *) = dlsym(graphicsServices, "GSFontAddFromFile");
                if (GSFontAddFromFile)
                    for (NSString *fontFile in [[NSBundle mainBundle] pathsForResourcesOfType:@"ttf" inDirectory:nil])
                        newFontCount += GSFontAddFromFile([fontFile UTF8String]);
            }
        }
        return newFontCount;
    }
    
        6
  •  32
  •   Rishil Patel Rams    8 年前

    iOS 8 +和 Xcode 6 +你可以很容易做到。步骤如下:

    1)将字体拖放到 Xcode 支持文件文件夹。别忘了将应用程序标记为 添加到目标 部分。从现在起,您可以在 IB 从字体托盘中选择。

    enter image description here

    2)要使此字体在设备中可用,请打开 info.plist 并添加 Fonts provided by application 关键。它将包含项0键,您必须添加字体名称作为值。字体名称可能与字体文件名不同。但首先,尝试在大多数情况下添加文件名。

    enter image description here

    如果不是, this article 总是帮助我。

    这是本文中帮助您查找字体名称的代码片段。

    func allFonts(){
    
       for family in UIFont.familyNames(){
    
           println(family)
    
    
           for name in UIFont.fontNamesForFamilyName(family.description)
           {
               println("  \(name)")
           }
    
       }
    
    }
    

    编辑

    我想说的是,您需要将字体文件添加到 目标的构建阶段 , 复制捆绑资源 . 如果没有它,您将无法在设备上看到您的字体。这可能导致意想不到的行为。

    例如,我遇到一个 bug UITextField 有自定义字体,但此字体不在 复制捆绑资源 . 当我转向 viewcontroller 用这个 textfield ,大约4秒前有一个延迟 viewDidLoad 调用了函数。解决字体问题消除了这个延迟。所以,建议检查两次。(rdar://20028250)顺便说一句,我无法重现这个bug,但我确信字体有问题。

        7
  •  27
  •   Sophie Alpert    17 年前

    我是这样做的:

    加载字体:

    - (void)loadFont{
      // Get the path to our custom font and create a data provider.
      NSString *fontPath = [[NSBundle mainBundle] pathForResource:@"mycustomfont" ofType:@"ttf"]; 
      CGDataProviderRef fontDataProvider = CGDataProviderCreateWithFilename([fontPath UTF8String]);
    
      // Create the font with the data provider, then release the data provider.
      customFont = CGFontCreateWithDataProvider(fontDataProvider);
      CGDataProviderRelease(fontDataProvider); 
    }
    

    现在,在你 drawRect: ,执行如下操作:

    -(void)drawRect:(CGRect)rect{
        [super drawRect:rect];
        // Get the context.
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextClearRect(context, rect);
        // Set the customFont to be the font used to draw.
        CGContextSetFont(context, customFont);
    
        // Set how the context draws the font, what color, how big.
        CGContextSetTextDrawingMode(context, kCGTextFillStroke);
        CGContextSetFillColorWithColor(context, self.fontColor.CGColor);
        UIColor * strokeColor = [UIColor blackColor];
        CGContextSetStrokeColorWithColor(context, strokeColor.CGColor);
        CGContextSetFontSize(context, 48.0f);
    
        // Create an array of Glyph's the size of text that will be drawn.
        CGGlyph textToPrint[[self.theText length]];
    
        // Loop through the entire length of the text.
        for (int i = 0; i < [self.theText length]; ++i) {
            // Store each letter in a Glyph and subtract the MagicNumber to get appropriate value.
            textToPrint[i] = [[self.theText uppercaseString] characterAtIndex:i] + 3 - 32;
        }
        CGAffineTransform textTransform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
        CGContextSetTextMatrix(context, textTransform);
        CGContextShowGlyphsAtPoint(context, 20, 50, textToPrint, [self.theText length]);
    }
    

    基本上,你需要做一些强力的循环,通过文本和神奇的数字,以找到你的偏移量(这里,见我使用29)在字体,但它工作。

    另外,您必须确保字体是合法嵌入的。大多数人没有,也有专门从事这类事情的律师,所以要受到警告。

        8
  •  20
  •   August    17 年前

    是的,您可以包括自定义字体。请参阅有关uifont的文档,特别是 fontWithName:size: 方法。

    1)确保在资源文件夹中包含字体。

    2)字体的“名称”不一定是文件名。

    3)确保您具有使用该字体的合法权利。通过将其包含在应用程序中,您也可以分发它,并且您需要有权这样做。

        9
  •  20
  •   Community Mohan Dere    9 年前

    如果您正在使用 xcode 4.3 ,您必须添加 font Build Phase 在下面 Copy Bundle Resources ,根据 https://stackoverflow.com/users/1292829/arne 在线程中, Custom Fonts Xcode 4.3 . 这对我很有用,以下是我在应用程序中使用自定义字体所采取的步骤:

    1. 将字体添加到项目中。我拖了又掉了 OTF (或) TTF )文件到我创建并接受Xcode选择的新组 copying the files over to the project folder .
    2. 创建 UIAppFonts 将字体列为数组中的项。只是 names ,而不是扩展名(例如 GothamBold “,” GothamBold-Italic “”。
    3. 点击 project name 在最上面 Project Navigator 在屏幕左侧。
    4. 点击 Build Phases 出现在Xcode主区域中的选项卡。
    5. 展开“ 复制捆绑资源 “分区并单击 "+" 添加字体。
    6. 从文件导航器中选择当您单击时弹出打开的字体文件 “+” .
    7. 每种字体都要这样做 add to the project .
        10
  •  12
  •   5566    14 年前

    下面是如何操作的分步说明。不需要额外的库或任何特殊的编码。

    http://shang-liang.com/blog/custom-fonts-in-ios4/

    大多数情况下,问题在于字体而不是方法。最好的方法是使用一种字体,如Verdana或Geogia。然后更改为所需的字体。如果不起作用,可能是字体名称不对,或者字体格式不正确。

        11
  •  12
  •   Hemang    12 年前

    在现有的iOS应用程序上添加新字体非常容易。

    您只需将字体(如FONT.TTF)添加到资源文件夹中即可。

    打开应用程序 info.plist . 将新行添加为“应用程序提供的字体”,并将字体名称键入FONT.TTF。

    设置字体时,请执行以下操作 setFont:"corresponding Font Name"

    您可以通过以下方式检查是否添加了字体: NSArray *check = [UIFont familyNames]; .

    它返回应用程序支持的所有字体。

        12
  •  11
  •   Chris Klingler    10 年前

    我建议在这里学习我最喜欢的简短教程: http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/ 这些信息的来源。

    步骤1-将.ttf或.otf从finder拖到项目中

    注意-确保在主应用程序目标上单击“添加到目标”框。

    Drag font files into your project and click to add them to your target

    如果忘记单击将其添加到目标中,请单击项目层次结构中的字体文件,然后在右侧面板中单击 目标成员 部分

    how to add fonts to app target if you forgot

    要确保字体是应用程序目标的一部分,请确保它们显示在 复制捆绑资源 在里面 建造阶段

    how to check resources to see if fonts are part of app target

    步骤2-将字体文件名添加到plist

    自定义iOS目标属性 在你 信息 并向该节中名为 Fonts provided by application (您应该在键入时看到它作为一个选项出现,它将自己设置为一个数组。单击小箭头打开数组项,输入您添加的.ttf或.otf文件的名称,让您的应用程序知道这些是您想要的可用字体文件。

    注意-如果您的应用程序在此步骤之后崩溃,请检查您在此处添加的项目的拼写。

    example plist with custom fonts added

    第3步-找出字体的名称,以便调用它们

    通常情况下,应用程序看到的字体名与您认为基于该字体的文件名的字体名不同,请将其放入代码中,并查看应用程序生成的日志,以查看代码中要调用的字体名。

    迅捷

    for family: String in UIFont.familyNames(){
      print("\(family)")
      for names: String in UIFont.fontNamesForFamilyName(family){
          print("== \(names)")
      }
    }
    

    目标C

    for (NSString* family in [UIFont familyNames]){
        NSLog(@"%@", family);
        for (NSString* name in [UIFont fontNamesForFamilyName: family]){
            NSLog(@"  %@", name);
        }
    }
    

    您的日志应该如下所示:

    Example of searching log to find font names

    步骤4-使用新的自定义字体,使用步骤3中的名称

    迅捷

     label.font = UIFont(name: "SourceSansPro-Regular", size: 18)
    

    目标C

     label.font = [UIFont fontWithName:@"SourceSansPro-Regular" size:18];
    
        13
  •  10
  •   Nano    15 年前

    在finder和“get info”中找到ttf。在标题“全名”下,它给了我一个名字,然后我用它 fontWithName (我只是复制并粘贴了确切的名称,在本例中不需要扩展名“.ttf”)。

        14
  •  8
  •   John    17 年前

    它还没有推出,但是下一个版本的cocos2d(2d游戏框架)将支持变长位图字体作为字符映射。

    http://code.google.com/p/cocos2d-iphone/issues/detail?id=317

    作者没有这个版本的明确发布日期,但我确实看到了一篇文章,指出它将在下个月或两个月发布。

        15
  •  8
  •   user576862    15 年前

    一个重要的注意事项是:您应该使用与字体相关联的“PostScript名称”,而不是它的全名或姓氏。此名称通常与字体的常规名称不同。

        16
  •  6
  •   ByteNirvana    17 年前

    也许作者忘了给字体A Mac FOND name ?

    1. 在中打开字体 FontForge 然后转到元素>字体信息
    2. 有一个“mac”选项,您可以在其中设置喜欢的名字。
    3. 在“文件”>“导出字体”下,可以创建新的TTF

    您也可以在导出对话框中尝试“apple”选项。

    免责声明 :我不是iPhone开发者!

        17
  •  6
  •   Hemang    12 年前

    我在iOS 3.1.2上尝试了本页面上的各种建议,以下是我的结论:

    简单使用 [UIFont fontWithName:size:] 使用resources目录中的字体将无法工作,即使使用fontforge设置了常用名称。

    [uiFONT FONTWITHNAME:大小:] 如果首先使用gsfontaddfromfile加载字体,则可以工作。但是 GSFontAddFromFile 不是iOS 3.1.2的一部分,因此必须按照@rpetrich所述动态加载。

        18
  •  6
  •   Rishil Patel Rams    8 年前

    按此步骤操作

    1)在项目中复制字体

    2)打开你的 .plist 文件处于源代码模式…(注意-不要打开 info.plist )

    3)在此之前-右键单击字体并在fontforge或类似编辑器中打开,然后 install 在你的系统里,应该是 安装

    4)键入

     <key>UIAppFonts</key>
    <array>
        <string>MyriadPro.otf</string>
    </array>
    

    5)在您的 class .m

     [lblPoints setFont:[UIFont fontWithName:@"Myriad Pro" size:15.0]];
    

    在这里,从您的 UILabel

    完成!! 如果字体仍然不起作用,请先检查字体兼容性

        19
  •  5
  •   Matt Sephton    17 年前

    仰望 ATSApplicationFontsPath

    一个简单的plist条目,允许您在应用程序资源文件夹中包含字体文件,它们在应用程序中“只起作用”。

        20
  •  5
  •   AaronBaker    13 年前

    我已经把这一页上的一些建议结合到iOS 5上的一些东西中。

    首先,必须将自定义字体添加到项目中。然后,您需要遵循@iphonedev的建议,并将字体添加到info.plist文件中。

    这样做之后,就可以:

    UIFont *yourCustomFont = [UIFont fontWithName:@"YOUR-CUSTOM-FONT-POSTSCRIPT-NAME" size:14.0];
    [yourUILabel setFont:yourCustomFont];
    

    但是,您需要知道字体的PostScript名称。只要按照@daniel wood的建议,当你在fontbook时按command-i。

    然后,享受你的自定义字体。

        21
  •  5
  •   Alejandro Luengo    13 年前

    首先将.odt格式的字体添加到您的资源中,在本例中,我们将使用diningschriftsd.otf,然后使用此代码将字体分配给标签。

    [theUILabel setFont:[UIFont fontWithName:@"DINEngschriftStd" size:21]];
    

    要确保在项目中加载字体,只需调用

    NSLog(@"Available Font Families: %@", [UIFont familyNames]);
    

    在.plist上,必须声明字体。只需添加一个“应用程序提供的字体”记录,并添加一个带有字体名称的项目0字符串(dinengschriftsd.otf)

        22
  •  5
  •   NANNAV gngrwzrd    12 年前

    对于iOS 3.2及更高版本: 使用上述几种方法,即:

    1. 添加字体文件(例如, 去污剂 )到Xcode中项目的资源文件夹。
    2. 打开info.plist并添加一个名为uiappfonts的新键。此键的类型应为数组。
    3. 将自定义字体名称添加到此数组,包括扩展名(“ 去污剂 “”。
    4. 使用 [UIFont fontWithName:@"Real Font Name" size:16] 在您的应用程序中。

    但是 “真正的字体名”并不总是你在字体簿中看到的那种。最好的方法是问你的设备它看到的字体和确切的名称是什么。

    我使用发布在以下网址的UIFONT名称抓取器: uifont-name-grabber

    只需将您想要的字体放到Xcode项目中,将文件名添加到其plist,并在您正在为其构建的设备上运行它,它将使用以下名称向您发送完整的字体列表: UIFont fontWithName: 期待。

        23
  •  5
  •   Hemang    12 年前

    更好的解决方案是添加新属性” Fonts provided by application “对你 info.plist 文件。

    然后,您可以像普通一样使用自定义字体 UIFont .

        24
  •  3
  •   NANNAV gngrwzrd    12 年前

    有一种使用自定义字体的新方法,从iOS 4.1开始。它允许您动态加载字体,无论是来自应用程序中包含的文件、下载的数据还是您拥有的内容。它还允许您根据需要加载字体,而旧方法在应用程序启动时加载所有字体,如果您有许多字体,这可能会花费太长时间。

    新方法在 ios-dynamic-font-loading

    你使用 CTFontManagerRegisterGraphicsFont 函数,为它提供一个缓冲区,其中包含您的字体数据。然后就可以使用了 UIFont 和Web视图,就像以前的方法一样。下面是该链接的示例代码:

    NSData *inData = /* your font-file data */;
    CFErrorRef error;
    CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)inData);
    CGFontRef font = CGFontCreateWithDataProvider(provider);
    if (! CTFontManagerRegisterGraphicsFont(font, &error)) {
        CFStringRef errorDescription = CFErrorCopyDescription(error)
        NSLog(@"Failed to load font: %@", errorDescription);
        CFRelease(errorDescription);
    }
    CFRelease(font);
    CFRelease(provider);
    
        25
  •  3
  •   Daniel Krom    10 年前

    Swift,代码方式:(也适用于Swift 2.0)

    将所需字体添加到项目中(就像添加图像一样,只需拖动到xcode),确保它们是针对您的项目的。
    添加此方法并加载自定义字体(建议在 appDelegate didFinishLaunchingWithOptions )

    func loadFont(filePath: String) {
    
        let fontData = NSData(contentsOfFile: filePath)!
    
        let dataProvider = CGDataProviderCreateWithCFData(fontData)
        let cgFont = CGFontCreateWithDataProvider(dataProvider)!
    
        var error: Unmanaged<CFError>?
        if !CTFontManagerRegisterGraphicsFont(cgFont, &error) {
            let errorDescription: CFStringRef = CFErrorCopyDescription(error!.takeUnretainedValue())
            print("Unable to load font: %@", errorDescription, terminator: "")
        }
    
    }
    

    使用实例:

    if let fontPath = NSBundle.mainBundle().pathForResource("My-Font", ofType: "ttf"){
          loadFont(fontPath)
    }
    

    使用字体:

    UIFont(name: "My-Font", size: 16.5)
    
        26
  •  2
  •   Hemang    12 年前

    您可以在资源文件夹中添加所需的“字体”文件。然后去项目 Info.plist 归档并使用“应用程序提供的字体”键,值为“字体名称”。

    然后你可以调用这个方法 [UIFont fontwithName:@"FONT NAME" size:12];

        27
  •  1
  •   ElizaS    13 年前

    我让一切成为可能,但新字体没有出现,所以我找到了解决方案:

    拖动FOT文件(OTF或TTF)时,不要忘记选中“添加到目标”下的复选框。

    这样做之后,你的字体就会出现,一切都会正常工作。

        28
  •  1
  •   collapsar    12 年前

    虽然上面的一些答案是正确的,但我已经为仍然有字体问题的人编写了一个详细的视觉教程。

    上面的解决方案告诉您将字体添加到plist并使用

    [self.labelOutlet setFont:[UIFont fontWithName:@"Sathu" size:10]];
    

    是正确的。现在请使用任何其他黑客方式。如果在查找字体名称和添加字体名称时仍然遇到问题,下面是教程-

    Using custom fonts in ios application

        29
  •  1
  •   Akhil Bhadauria    12 年前

    是的,您可以在应用程序中使用自定义字体

    按照以下步骤逐步进行:

    在支持文件中将自定义字体文件添加到项目中

    在info.plist文件中添加一个名为uiappfonts的键。

    使此键成为数组

    对于您拥有的每个字体,输入字体文件(包括扩展名)的全名作为uiappfonts数组的项。

    现在在应用程序中保存info.plist,您只需调用[uifont font with name:@“您的自定义字体名称”大小:20]即可获得自定义字体,以便与您的uilabels一起使用。 应用此字体后,如果字体不正确,则双击自定义字体,仔细查看顶部字体名称是否混合,并复制此字体,粘贴到此处[uifont fontwithname:@“此处超过自定义字体名称”大小:20]

    我希望你能得到正确的答案

        30
  •  1
  •   Rishil Patel Rams    8 年前

    是的,您可以在应用程序中使用自定义字体

    按照以下步骤逐步进行:

    • 在支持文件中将自定义字体文件添加到项目中
    • 为您的 Info.plist 名为uiappfonts的文件。
    • 使此键成为数组
    • 对于您拥有的每个字体,输入字体文件(包括扩展名)的全名作为uiappfonts数组的项。
    • 保存 幻灯片 现在,在应用程序中,您可以简单地调用 [UIFont fontWithName:@"your Custom font Name" size:20] 获取自定义字体以用于 UILabels

    如果你的字体不正确,在应用这个之后 然后双击自定义字体,仔细查看顶部字体名称是否混合。 然后复制这个字体,粘贴到这里 [UIFont fontWithName:@" here past your Custom font Name" size:20] 我希望你能得到正确的答案