使用自定義字體的實(shí)現(xiàn)

項(xiàng)目中要使用自定義自定義字體,中間沒(méi)遇到大坑,也不難,但還是總結(jié)

獲取一下系統(tǒng)中所有自帶字體

很簡(jiǎn)單,就當(dāng)先拋個(gè)磚頭了

NSArray *fonts = [UIFont familyNames];
for (NSString *font in fonts) {
    NSLog(@"%@",font);
}

方法一

簡(jiǎn)單的直接引用,這里我找了 華文行楷(我最喜歡的字體)的字體來(lái)做例子。

步驟一

直接將字體文件拖入我們的項(xiàng)目中


步驟一
步驟二

在Info.plist文件中添加 Fonts provided by application ,這是一個(gè)數(shù)組類(lèi)型,將字體文件名添加到item中

步驟二

這里需要注意的是添加字體文件名的時(shí)候記得把后綴名帶上

步驟三

添加字體文件 TARGETS -> Build Phases -> Copy Bundle Resources

步驟三
步驟四

使用代碼來(lái)使用字體,使用了方法+ (nullable UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize;
這里需要注意的是這里的fontName不能寫(xiě) 華文行楷,應(yīng)為這僅僅是字體的文件名,而不是字體名,那么如何獲取字體名吶?其實(shí)很簡(jiǎn)單,我們只需要在MacOS下雙擊字體文件,就可以看到字體名了。

步驟四
customLabel.font = [UIFont fontWithName:@"STXingkai" size:20];

這樣就搞定了。

方法二

步驟一二三都和方法一是一樣的,只不過(guò)步驟四我們可以使用代碼來(lái)獲取字體名

- (UIFont *)customFont
{
    NSString *fontPath = [[NSBundle mainBundle]pathForResource:@"華文行楷" ofType:@"ttf"];
    NSURL *fontURL = [NSURL fileURLWithPath:fontPath];
    CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)fontURL);
    CGFontRef fontRef = CGFontCreateWithDataProvider(fontDataProvider);
    CGDataProviderRelease(fontDataProvider);
    NSString *fontName = (__bridge NSString *)CGFontCopyFullName(fontRef);
    UIFont *font = [UIFont fontWithName:fontName size:20];
    CGFontRelease(fontRef);
    return font;
}

設(shè)置字體

customLabel.font = [self customFont];

Demo的 github地址

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • IOS使用自定義字體的實(shí)現(xiàn) 前言 其實(shí)一直向?qū)扅c(diǎn)什么,但工作的忙碌,以及身體的惰性,導(dǎo)致一致沒(méi)有機(jī)會(huì).最近終于擠出...
    Hold_dream閱讀 1,410評(píng)論 0 3
  • 如果用fontWithName:的話,后面的參數(shù)不能加.ttf 使用自定義字體的實(shí)現(xiàn) 獲取一下系統(tǒng)中所有自帶字體 ...
    老騷鵝閱讀 2,529評(píng)論 0 3
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲(chóng)de夢(mèng)閱讀 100,686評(píng)論 9 468
  • 其實(shí),我們的社會(huì)就是一個(gè)江湖,所謂江湖中人亦是社會(huì)中人。你飽歷人世滄桑,回首金庸筆下那個(gè)江湖,就會(huì)恍然驚覺(jué)其實(shí)它一...
    陳希哲閱讀 480評(píng)論 0 1
  • 熊奶奶感覺(jué)自己很孤單,兒子去遠(yuǎn)方打工了,自己又沒(méi)有知心的朋友可以拉家常。每天從早到晚都是一個(gè)人。 熊奶奶每次去...
    薇薇成長(zhǎng)小屋閱讀 710評(píng)論 0 2

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