自定义字体不工作在Xcode

问题描述:

我想在我的iOS应用程序中使用truetype(.ttf)字体,它不工作。我已将该字体添加到我的项目并正确添加目标。我在应用程序提供的字体下的info.plist中添加了字体。我使用的是NSAttributedString显示文本,这是我的代码自定义字体不工作在Xcode

UIFont *hrFont = [UIFont fontWithName:@"ocrb" size:18.0]; 
NSDictionary *hrDict = [NSDictionary dictionaryWithObject:hrFont forKey:NSFontAttributeName]; 
NSMutableAttributedString *hrAttrString = [[NSMutableAttributedString alloc] initWithString:hrString attributes: hrDict]; 

UIFont *barcodeFont = [UIFont fontWithName:@"IDAutomation DataBar 34" size:22]; 
NSDictionary *barcodeDict = [NSDictionary dictionaryWithObject:barcodeFont forKey:NSFontAttributeName]; 
NSMutableAttributedString *barcodeAttrString = [[NSMutableAttributedString alloc]initWithString: alphaOnly attributes:barcodeDict]; 

[hrAttrString appendAttributedString:barcodeAttrString]; 

条形码字体显示正常,但在OCR字体显示为系统字体代替。任何帮助将不胜感激。

添加您的自定义字体到你的项目,即拖字体 文件(ocrb.TTF)到XCode项目。

编辑Info.plist:使用密钥添加一个新条目“ 应用程序”提供的字体。

对于每一个文件,添加文件名到这个阵列

enter image description here

开业字体书(在取景器您的字体双击)的字体 看真正的文件名是什么,我看到这个:

enter image description here

现在,字体设置为您的标签

yourLabel.font = [UIFont fontWithName:@"ocrb" size:15]; 
+0

我不得不在代码中编写实际调用字体的内容是[UIFont fontWithName:@“OCRB”size:15];原因不明。但它最终完美地工作。谢谢 –

+0

不客气.... –

您可以检查该字体是否通过使用下面的代码

NSArray *fontFamilies = [UIFont familyNames]; 

for (int i = 0; i < [fontFamilies count]; i++) 
{ 
    NSString *fontFamily = [fontFamilies objectAtIndex:i]; 
    NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]]; 
    NSLog (@"%@: %@", fontFamily, fontNames); 
} 

加载与否如果没有装载您的字体,然后下载新的字体&将其添加到您的项目中。下载后&加入我的项目作品。