簡體   English   中英

如何在iOS中以編程方式使用customFont樣式

[英]How to use customFont style programmatically in ios

我要使用Proxima Nova的 SemiboldBold樣式。
為此,我在應用程序資源中添加了Proxima Nova,Proxima Nova Semibold和Proxima Nova Bold字體。
我已經在info.plist文件中進行了正確輸入,並且還確保在復制捆綁包資源中。 我使用這些字體的方式如下。

[attributedString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Proxima Nova" size:12.0] range:NSMakeRange(0, storypart1.length-1)];

這對我來說很好。
但是,當我想使用相同字體的SemiboldBold樣式時,出現錯誤。 我嘗試使用 粗體粗體樣式的方法如下。

[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值”

請幫我解決這個問題。
提前致謝。

請先打印這樣的字體名稱,然后將確切的粗體字體名稱添加到其他值中,由於字體為nil(找不到傳遞的字體),應用崩潰。 因此,為粗體傳遞完全相同的名稱。

NSLog(@"Font %@",[UIFont fontNamesForFamilyName:@"Proxima Nova"]);

例如

NSLog(@"Font %@",[UIFont fontNamesForFamilyName:@"Arial"]);

輸出:

Font (
    ArialMT,
    "Arial-BoldItalicMT",
    "Arial-ItalicMT",
    "Arial-BoldMT"
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM