自定义字体在某些模拟器上无法显示

11
我尝试从xcode项目中删除字体,然后通过拖动再次复制,但“Helvetica-Neue-LT-Com-75-Bold-Outline.ttf”自定义字体仍然在iPhone 4和5c模拟器上无法正常工作,但在5s模拟器上可以正常工作
为了将字体名称设置为UILabel,我正在使用来自fontbook应用程序的名称。

你有没有尝试过清理项目并重新构建它? - caglar
是的,我尝试过清理项目,还从模拟器中卸载了应用程序。 - Parth Pandya
从“文件检查器”中选择“前端”,然后选择您的目标,这对我有效。 - Dilip Tilonia
5个回答

44

按照以下步骤操作,它可以正常工作:

1.选择项目

2.选择目标->构建阶段->复制捆绑资源->点击+按钮->添加您的自定义字体

像这样:

输入图像描述


1
非常好用!!谢谢。 - dhruvvyas90
谢谢你! - SwiftiSwift

14

在将字体文件包含在项目中后,需要注意以下几点:

  1. 将它们包含在目标中
  2. 将它们作为捆绑资源包含
  3. 将它们添加到您的应用程序属性列表
  4. 确保引用了正确的字体名称

您可以在应用程序委托的didFinishLaunchingWithOptions中记录所有字体:

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

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

详细信息在这里:http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/


在我的情况下,它记录了“pirulen”我的自定义字体,并且在从界面构建器中进行选择时也显示出来,但是当我运行应用程序时,它没有显示并且选择了默认字体。 - Muhammad Sarim

9
我的问题是我有一个字体文件夹,其中包含我的字体文件,我选择“创建文件夹引用”而不是“创建组”,导致我的字体文件夹变成蓝色(而不是黄色),只有字体文件夹出现在捆绑资源中;文件夹中包含的单个字体文件未被添加到捆绑资源中。当我选择“创建组”添加文件夹时,单个字体文件被添加到捆绑资源中,字体文件出现在模拟器中。

9
  1. 从模拟器中删除应用程序
  2. 清理(在Xcode中按“CMD + K”)
  3. 再次运行
注:CMD表示Mac电脑键盘上的“命令”键。

现在它正在工作,之前错误地调用了iPhone 4模拟器的错误函数。 - Parth Pandya

4

请确保不要在应用的启动屏幕中加载此自定义字体。您可以使用图片代替。

自定义字体无法在LaunchScreen.storyboard中加载


1
谢谢你。我一直在试图找出自己做错了什么,让自己快要疯了。 - tww0003

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接