自定义字体不工作在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:使用密钥添加一个新条目“ 应用程序”提供的字体。
对于每一个文件,添加文件名到这个阵列
开业字体书(在取景器您的字体双击)的字体 看真正的文件名是什么,我看到这个:
现在,字体设置为您的标签
yourLabel.font = [UIFont fontWithName:@"ocrb" size:15];
答
您可以检查该字体是否通过使用下面的代码
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);
}
加载与否如果没有装载您的字体,然后下载新的字体&将其添加到您的项目中。下载后&加入我的项目作品。
我不得不在代码中编写实际调用字体的内容是[UIFont fontWithName:@“OCRB”size:15];原因不明。但它最终完美地工作。谢谢 –
不客气.... –