我想使用 Promima Nova 的 Semibold 和 Bold 风格。
为此,我将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)];
但在这两个方面我都遇到了错误。
***由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因: ' NSConcreteMutableAttributedString addAttribute:value:range :: nil 值'
请帮我解决这个问题。
在此先感谢。
答案 0 :(得分:3)
请首先打印这样的字体名称,并将您的确切粗体字体名称添加到addributed值中,因为font为nil(找不到您输入的字体),app会崩溃。因此,为粗体传递完全相同的名称。
NSLog(@"Font %@",[UIFont fontNamesForFamilyName:@"Proxima Nova"]);
例如
NSLog(@"Font %@",[UIFont fontNamesForFamilyName:@"Arial"]);
<强>输出:强>
Font (
ArialMT,
"Arial-BoldItalicMT",
"Arial-ItalicMT",
"Arial-BoldMT"
)