我试图在我的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字体显示为系统字体。任何帮助将不胜感激。
答案 0 :(得分:6)
将自定义字体添加到项目中,即拖动字体 文件( ocrb.TTF )进入XCode项目。
编辑Info.plist:添加一个新条目,其中包含提供的字体 应用“即可。
对于每个文件,将文件名添加到此数组
打开字体书中的字体(在Finder中双击字体) 看看真正的文件名是什么,我看到了:
现在将字体设置为标签
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;将其添加到您的项目中。在经历了下游之后为我添加项目工作。