如何在 ios 中以编程方式使用自定义字体样式
How to use customFont style programmatically in ios
我想使用 Semibold 和 Bold 样式 Proxima Nova.
为此,我在我的应用程序资源中添加了 Proxima Nova、Proxima Nova Semibold 和 Proxima Nova Bold 字体。
我已经在 info.plist 文件中进行了正确的输入,并在 Copy Bundle 资源中进行了确认。
我使用这些字体的方式如下。
[attributedString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Proxima Nova" size:12.0] range:NSMakeRange(0, storypart1.length-1)];
这对我来说很好。
但是当我想使用相同字体的 Semibold 和 Bold 样式时,我我收到错误。
我尝试使用 Semibold 和 Bold 样式的方式如下。
[attrString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Proxima Nova-Semibold" size:12.0] range:NSMakeRange(0, storypart1.length-1)];
和
[attrString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Proxima Nova Semibold" size:12.0] range:NSMakeRange(0, storypart1.length-1)];
但在两者中我都收到以下错误。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'NSConcreteMutableAttributedString addAttribute:value:range:: nil
value'
请帮我解决这个问题。
提前致谢。
请先像这样打印您的字体名称,然后将您确切的粗体字体名称放入附加值中,由于字体为零(未找到您传递的字体),应用程序正在崩溃。因此,为粗体传递完全相同的名称。
NSLog(@"Font %@",[UIFont fontNamesForFamilyName:@"Proxima Nova"]);
例如
NSLog(@"Font %@",[UIFont fontNamesForFamilyName:@"Arial"]);
输出:
Font (
ArialMT,
"Arial-BoldItalicMT",
"Arial-ItalicMT",
"Arial-BoldMT"
)
我想使用 Semibold 和 Bold 样式 Proxima Nova.
为此,我在我的应用程序资源中添加了 Proxima Nova、Proxima Nova Semibold 和 Proxima Nova Bold 字体。
我已经在 info.plist 文件中进行了正确的输入,并在 Copy Bundle 资源中进行了确认。
我使用这些字体的方式如下。
[attributedString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Proxima Nova" size:12.0] range:NSMakeRange(0, storypart1.length-1)];
这对我来说很好。
但是当我想使用相同字体的 Semibold 和 Bold 样式时,我我收到错误。
我尝试使用 Semibold 和 Bold 样式的方式如下。
[attrString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Proxima Nova-Semibold" size:12.0] range:NSMakeRange(0, storypart1.length-1)];
和
[attrString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Proxima Nova Semibold" size:12.0] range:NSMakeRange(0, storypart1.length-1)];
但在两者中我都收到以下错误。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSConcreteMutableAttributedString addAttribute:value:range:: nil value'
请帮我解决这个问题。
提前致谢。
请先像这样打印您的字体名称,然后将您确切的粗体字体名称放入附加值中,由于字体为零(未找到您传递的字体),应用程序正在崩溃。因此,为粗体传递完全相同的名称。
NSLog(@"Font %@",[UIFont fontNamesForFamilyName:@"Proxima Nova"]);
例如
NSLog(@"Font %@",[UIFont fontNamesForFamilyName:@"Arial"]);
输出:
Font (
ArialMT,
"Arial-BoldItalicMT",
"Arial-ItalicMT",
"Arial-BoldMT"
)