如何在iOS应用程序中包含和使用新字体?

v09wglhw  于 11个月前  发布在  iOS
关注(0)|答案(9)|浏览(156)

我想在iOS应用程序中使用“MgOpen Modata”字体。但在属性检查器的字体列表中看不到该字体。
我如何包含该字体以便可以使用它?

ds97pgxw

ds97pgxw1#

1.将字体文件添加到资源文件中
1.编辑Info.plist:添加一个新条目,并将其设为Fonts provided by application
1.对于每个文件,将文件名添加到此数组中
在下面的例子中,我添加了字体“DejaVu Sans Mono”:
x1c 0d1x的数据
在您的应用程序中,您可以使用[UIFont fontWithName:@"DejaVuSansMono-Bold" size:14.f]
或者如果你想在html/css中使用它,只需使用font-family:DejaVu Sans Mono;即可。

**注意:**此功能在iOS 3.2及更高版本中可用。

6ioyuze2

6ioyuze22#

我发现this walkthrough是最好的
虽然上面接受的答案确实有效,但我发现如果您将文本添加到XIB文件中,然后将字体设置为我们的新字体,则文本不会更新。
确保新字体包含在资源中修复了此问题(直接摘自演练):

  • “这应该不是一个问题,但有时当你有麻烦让你的字体显示,这可能是一个头痛的来源,所以让我们现在仔细检查,以排除它作为一个潜在的陷阱。
  • 通过在解决方案资源管理器中突出显示XCode项目文件,转到项目Build Phases窗格,并在右侧选择“Build Phases”。您将看到您可以展开的部分之一是“Copy Bundle Resources”。打开该列表并确保您的字体包含在该列表中。"*


的数据
演练中的其他内容也是相同的(将文件添加到项目和plist文件中)
所有信贷代码与克里斯为这个答案,节省了我很多时间和精力,我只是复制一个镜头从他的网页,让这个答案站在自己的脚,而不是要求你点击链接。

guz6ccqo

guz6ccqo3#

我认为对于开发者来说,将plist结构作为复制/粘贴的原始源代码更简单。我把它留在下面:

<key>UIAppFonts</key>
    <array>
        <string>Roboto-BoldItalic.ttf</string>
        <string>Roboto-Medium.ttf</string>
        <string>Roboto-MediumItalic.ttf</string>
        <string>Roboto-Regular.ttf</string>
        <string>Roboto-Bold.ttf</string>
    </array>

字符串
复制此片段并将字符串键修改为您所需的字体。提示:要以原始源代码形式查看plist,请单击文件上方的辅助按钮,然后选择Open As -> Source code

已编辑

// Logs fonts ordered by name
    for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
    {
        NSLog(@"%@", family);
    
        for (NSString* name in [[UIFont fontNamesForFamilyName:family] sortedArrayUsingSelector:@selector(compare:)])
        {
            NSLog(@"  %@", name);
        }
    }


添加完所有字体后,将以下代码片段添加到AppDelegate.m类中可能会很有用。(在捆绑包上)。我多次遇到的一个问题是使用错误的名称加载字体(假设字体文件名是正确的)。有时它与包的真实的名称不同。除此之外,你可以在Mac OS X(macOS)上使用文件信息窗口(cmd+i)检查文件的全名。

  • 举例说明:

文件名=“DroidSansqueric-Regular”
bundle中的已处理名称=“Droid Sans Sparkopic”*

odopli94

odopli944#

不要忘记通过进入 *'Targets' -> 'Build Phases'-> 'Copy Bundle Resources'**将字体添加到目标编译包资源中,然后手动添加所有字体

vwoqyblh

vwoqyblh5#

大多数情况下,我们忘记了向应用程序目标添加字体。请确保您没有忘记这一重要步骤。请检查右侧面板文件检查器>目标成员资格复选框。


的数据
你也可以通过在你的应用程序的任何地方运行这个代码片段来检查字体是否很好地添加到你的应用程序中。

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

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

字符串

已编辑
按字母顺序:

for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
{
    NSLog(@"%@", family);

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


这将填充应用中的可用字体列表,其中也将显示您添加的字体。

pxiryf3j

pxiryf3j6#

在Xamarin iOS中

**步骤1:**首先,您必须将.ttf.otf文件添加到Project中。

比如Roboto-BoldItalic.ttf

**第二步:**右键选择Font属性

1.构建操作-->内容
1.复制到输出目录-->始终复制

**步骤3:**转到info.plist

选择属性Fonts provided by application并添加字体名称。
x1c 0d1x的数据

第四步:

设置字体下面的方式

account.Font = UIFont.FromName("Roboto-BoldItalic", 18f);

字符串

y1aodyip

y1aodyip7#

它现在很容易和简单-在Xcode 9.2和swift 4中测试

在Xcode中添加字体的步骤

选择您的UILabel,字体字段或任何字体下,然后按照

步骤1

从字体选择屏幕的左上角选择设置菜单。然后选择字体管理器选项。
x1c 0d1x的数据

第二步

点击下面标记的添加按钮。


第三步

选择包含字体的文件夹。它将被加载到XCode字体列表中。

在项目中添加字体的步骤

别忘了用Fonts provided by application.键在plist中添加描述,并将字体文件放在项目目标设置下的复制包资源中。
是的!就是这样... Njoy...

dy2hfwbg

dy2hfwbg8#

你可以直接使用[UIFont fontWithName:@"ArialMT" size:14];方法,如果你想改变你的字体样式。也可能不是所有的字体都在iPhone库中可用。只是参考this可用的字体样式。

wooyq4lh

wooyq4lh9#

如果你有.otf格式。有时这种格式不工作。将.otf格式转换为. ttf。网上有很多字体转换器。一旦你将自定义字体添加到你的.plist文件中,在应用程序提供的字体下,如上所述。确保在构建阶段->复制Bundel资源下的项目目标中存在该文件。如果没有,那么添加它。然后在你的代码中添加这个[UIFont fontWithName:@“您的自定义字体”大小:您选择的大小];

相关问题