我已将2个字体文件导入到项目中的资源组中,并将它们添加到我的plist文件中:
pt-sans.narrow-bold.ttf和PT_Sans-Narrow-Web-Bold.ttf
我想将粗体字体设置为属性字符串,但无法找到我的字体,我收到此错误:
(UIFont*) nil
这就是我设置字体的方式:
UIFont *font_bold=[UIFont fontWithName:@"PT Sans Narrow Bold" size:14.0f];
它必须是此系列的字体。任何想法,我做错了什么?
答案 0 :(得分:0)
您可以通过将此字体添加到didFinishLaunchingWithOptions
来检查字体是否可访问 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);
}
正如@ mikle94所说,帽子可能是你的问题。
答案 1 :(得分:0)
如果我们想在我们的应用程序中使用尚未存在的字体,我们应该注意几件事情,为了不做同样的错误,之后就想知道“出了什么问题” ,我的代码写得很完美“。
将.otf或.ttf中的字体复制到项目中。
将其添加到.plist文件中。在plist文件中添加'由应用程序提供的字体'键,在第0项中复制已导入项目的字体名称。
签入您的目标 - &gt;构建阶段 - &gt;复制捆绑资源。如果您没有看到其中的字体,请添加它。
非常重要 - 列出可用字体以检查您可以在应用中使用的正确名称:
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 *customFont = [UIFont fontWithName:@"PTSans-NarrowBold" size:20];