自定义字体在Xcode中不起作用

时间:2015-07-20 06:17:25

标签: ios objective-c xcode fonts

我试图在我的iOS应用程序中使用truetype(.ttf)字体,但它无法正常工作。我已将字体添加到项目中并正确添加了目标。我在info.plist中添加了应用程序提供的字体下的字体。我正在使用NSAttributedString来显示文本,这是我的代码

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字体显示为系统字体。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:6)

  

将自定义字体添加到项目中,即拖动字体   文件( ocrb.TTF )进入XCode项目。

     

编辑Info.plist:添加一个新条目,其中包含提供的字体   应用“即可。

     

对于每个文件,将文件名添加到此数组

enter image description here

  

打开字体书中的字体(在Finder中双击字体)   看看真正的文件名是什么,我看到了:

enter image description here

现在将字体设置为标签

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

答案 1 :(得分: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);
}

如果您的字体未加载,请下载新字体&amp;将其添加到您的项目中。在经历了下游之后为我添加项目工作。