不能在iOS应用中使用自定义字体

我正在尝试为我的iOS应用程序使用自定义字体。 这是我做的

我将自定义字体(m.tff)添加到Xcode支持文件目录。 另外,我创build了myApp.plist中名为字体(m.tff)的应用程序提供的名为Fonts的条目

在我看来,我有一个标签

UILabel *label = [[UILabel alloc]initWithFrame:CGRect(10, 20, 230, 30)]; label.font = [UIFont fontWithName:@"My custom font" size:15]; 

等等…

问题是,当我启动应用程序时,标签中的文本是使用默认字体,而不是使用特定的字体。

我在这里想念什么?

EDITED

那么它现在似乎工作,但字体只适用于像,? 但不适用于信件。 我使用西里尔文顺便说一句。

使用它来获取所有可用的字体

  // List all fonts on iPhone NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; for(NSString *familyName in familyNames) { NSLog(@"family: %@", familyName); NSArray *fontNames = [[NSArray alloc] initWithArray:[UIFont fontNamesForFamilyName:familyName]]; for(NSString *fontName in fontNames) { NSLog(@" font: %@", fontName); } } 

find你embedded的字体,看看它是不是名字是一样的。

字体扩展应该是ttf而不是tiff

然后在plist中input

应用程序Font.ttf提供的字体

检查您的[UIFont fontWithName:@"My font" size:15] line是否返回非空的UIFont对象。

在你的Info.plist文件中,添加键值: Fonts provided by application提供的Fonts provided by application和一个数组对象,并将数组的项目设置为string,如下所示:

 MyFont.ttf 

其中MyFont是在Mac应用程序“Font Book”中为字体列出的EXACT名称。 使用Spotlight启动字体书籍,然后在其中find您的字体文件来仔细检查名称。

然后,当您将字体设置为您的标签时:

 myLabel.font = [UIFont fontWithName: @"MyFont" size: someFloatValue]; 

m.tiff听起来不像受支持的字体文件,即TrueType或OpenType。

  1. 确保你的字体在info.plist(应用程序提供的字体)
  2. select您的目标,在构build阶段选项卡,复制包资源,添加您的字体。