如何以编程方式在iOS中使用自定义字体(例如:Helvetica CY.ttf)和Xcode

时间:2014-10-31 05:15:41

标签: ios objective-c fonts xcode6 true-type-fonts

  • 我正在尝试在我的应用中使用Helvetica CY字体。我按照apple docs的建议配置了它。
  • 自定义字体显示在Storyboard的下拉列表中,但无法在我的类文件中以编程方式使用相同的字体
  • 我已记录应用程序可用的所有字体系列,但控制台日志中未打印“Helvetica CY”。

任何帮助将不胜感激。

谢谢!

5 个答案:

答案 0 :(得分:38)

它很简单。它也在xcode6.1中为我工作。

尝试使用此steps :

第1步:在XCode项目中包含您的字体

第2步:确保它们已包含在目标

第3步:仔细检查您的字体是否已作为资源包附在

第4步:在您的应用程序plist中包含您的iOS自定义字体

第5步:查找字体名称

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

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

第6步:使用UIFont并指定字体名称

label.font = [UIFont fontWithName:@"Helvetica CY" size:20];

答案 1 :(得分:20)

Apple提供了一组字体来自定义我们的应用程序,并允许我们添加自定义字体。

步骤

  1. 将字体文件(.ttf或.otf)复制到主包。

  2. 将文件名添加到info.plist中,作为名为&#34的新数组;由应用程序提供的字体"。

  3. 将字体的后脚本名称添加到此数组中非常重要。这意味着每个字体在info.plist中都有字体名称(带扩展名)和postscript名称。

  4. 要查找Post脚本名称,只需在mac中打开Fontbook应用程序,然后添加字体文件。将字体文件添加到字体书后,只需查看该字体的信息选项卡,我们就可以找到Post脚本名称。

  5. 使用非常简单,请使用字体的后脚本名称

    nameLabel.font = [UIFont fontWithName:@"HelveticaCY-Plain" size:22];
    
  6. enter image description here

答案 2 :(得分:1)

我犯了同样的错误。关键是上面的答案:

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

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

我在项目文件夹中包含了GOTHIC.TTF文件。

在我的Info.plist中,我在“应用程序提供的字体”中包含了GOTHIC.TTF。

但是惊喜!字体不叫“GOTHIC”,而是“CenturyGothic”。

[cell.textLabel setFont:[UIFont fontWithName:@"CenturyGothic" size:24]];

答案 3 :(得分:1)

只需抛出此链接并按照步骤操作即可。 它正在采取所有步骤 http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/

答案 4 :(得分:0)

如果有人对获取字体的Swift 3代码感兴趣:

for family in UIFont.familyNames
{
    print("Family: \(family)")

    for name in UIFont.fontNames(forFamilyName: family)
    {
        print("Name: \(name)")
    }
}