iOS-自定義字體庫(kù)

今天,經(jīng)過(guò)多次測(cè)試的項(xiàng)目,交付客戶測(cè)試,卻遭到當(dāng)頭一棒。crash!crash!crash!不斷的crash。
原來(lái)是由于字體不支持的緣故,不直接測(cè)試調(diào)試的話,還真是很容易忽略這個(gè)問(wèn)題。項(xiàng)目主要使用的是蘋方字體,這是蘋果ios9才引入的官方字體,iOS8是不支持的。若要兼容iOS8以上,那只能在項(xiàng)目中添加自定義字體了。
方法如下

  1. 下載蘋方字體
    蘋方字體下載
蘋方字體ttf文件
  1. 導(dǎo)入字體文件
    將字體文件導(dǎo)入到工程中。
字體導(dǎo)入.png
  1. 配置字體文件
    Info plist 下添加 Fonts provided by application,并在Fonts provided by application添加字體文件,名字需于字體文件完全保持一致。
配置字體.png

注意:此處必須是完整的文件名包含后綴。

  1. 檢查字體文件是否導(dǎo)入
    4.1. 檢查Build Phases 下的 copyBundleResources下是否導(dǎo)入了字體文件
Build Phases.png

注意此處必須是單獨(dú)的字體文件,不能是如下圖這種文件夾形式的。

字體文件夾

4.2. 打印

  // 遍歷獲取字體名稱
    for(NSString *fontFamilyName in [UIFont familyNames])
    {
        NSLog(@"family:'%@'",fontFamilyName);
        for(NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName])
        {
            NSLog(@"\tfont:'%@'",fontName);
        }
        NSLog(@"-------------");
    }
字體名字.png
  1. 使用字體
textLabel.font = [UIFont fontWithName:@".PingFang-SC-UltraLight" size:17];

此處使用的名字,必須是如上圖所示打印出來(lái)的名字

經(jīng)測(cè)試發(fā)現(xiàn),在xcode9beta6字體名字不一樣,不只是不是測(cè)試版的緣故,如果不是的話,針對(duì)iOS11要單獨(dú)適配了。

xcode9 iOS11 上字體名字.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容