繁体   English   中英

将粗体字体设置为NSString iOS

[英]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所说,上限可能是您的问题。

如果我们想在我们的应用中使用尚不存在的字体,我们应该注意几件事,以免发生与我相同的错误,然后想到“什么地方出错了,我的代码写得很好”。

  1. 将.otf或.ttf中的字体复制到您的项目中。

  2. 将其添加到.plist文件。 在plist文件中添加“应用程序提供的字体”键,然后在Item 0中复制已经导入到项目中的字体名称。

  3. 检入目标->构建阶段->复制捆绑资源。 如果您在那里看不到字体,请添加它。

  4. 非常重要-列出可用字体以检查可在应用程序中使用的正确名称:

     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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM