一、問題描述:
按照正常方式添加自定義字體,通過log打印顯示為null
二、首先正常添加字體
第一步:將所需字體按如下方式添加到項目中(以DINOffcPro.ttf為例)
下載字體的鏈接:https://fonts.google.com

將DINOffcPro.ttf文件添加到項目.png
第二步:在info.plist文件中添加Fonts provided by application key,然后添加item值為ttf文件的名字(帶后綴)。如下圖所示:

在info.plist文件中添加DINOffcPro.png
第三步:在Build Phases ->Copy Bundle Rescources里添加ttf文件,如下圖所示:

檢查build Phases里面有沒有DINOffcPro.ttf文件目錄.png
三、完成上面三步,已經(jīng)代表添加好了自定義字體,可以通過log打印看是否添加成功
//遍歷所有字體,這時已經(jīng)把新字體添加進去了
for (NSString *fontfamilyname in [UIFont familyNames])
{
NSLog(@"family:'%@'",fontfamilyname);
for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
{
NSLog(@"\tfont:'%@'",fontName);
}
NSLog(@"-------------");
}
NSLog(@" DINOffcPro = %@", [UIFont fontWithName: @"DIN Offc Pro" size: 25.0f]);
正常情況下會打印出:
。。。前面省略。。。
-------------
family:'Kohinoor Telugu'
font:'KohinoorTelugu-Regular'
font:'KohinoorTelugu-Medium'
font:'KohinoorTelugu-Light'
-------------
family:'DIN Offc Pro'
font:'DINOffcPro'
-------------
family:'Heiti TC'
-------------
。。。后面省略。。。
DINOffcPro = <UICTFont: 0x7f88b7551720> font-family: "DIN Offc Pro"; font-weight: normal; font-style: normal; font-size: 25.00pt
四、如果按照上面步驟正常添加,還是無法打印出添加的字體,那么可借鑒以下方法:
info -> Custom iOS Target Propertirs -> 添加Fonts provided by application key,然后添加item值為ttf文件的名字(帶后綴)
(研究了好幾天,親測對本人項目有效,希望對你們也有用)

info.png