[英]Set bold font to NSString iOS
我已经将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];
它必须是该家族的字体。 任何想法,我在做什么错?
您可以通过将字体添加到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所说,上限可能是您的问题。
如果我们想在我们的应用中使用尚不存在的字体,我们应该注意几件事,以免发生与我相同的错误,然后想到“什么地方出错了,我的代码写得很好”。
将.otf或.ttf中的字体复制到您的项目中。
将其添加到.plist文件。 在plist文件中添加“应用程序提供的字体”键,然后在Item 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); }
找到所需的字体并通过以下方式进行设置:
UIFont *customFont = [UIFont fontWithName:@"PTSans-NarrowBold" size:20];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.