關于UIFont,相信大家都很熟悉,我們最常使用的莫過于
_likeLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 200, 50)];
_likeLabel.text = @"動動小手簡書關注喜歡~~~,彩筆踮起腳丫子,O(∩_∩)O謝謝";
_likeLabel.font = [UIFont systemFontOfSize:14.0];```
或者是這樣的
[_likeLabel setFont:[UIFont fontWithName:@"Helvetica" size:14.0]];```
一般而言我們不需要用alloc,int方法初始化UIFont對象,我們用UIFont大部分的時候是用其類方法,這些方法會設置對象的屬性,且返回一個字體對象,下面是對UIKit框架關于UIFont方法的解讀
+ (nullable UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize;
// 創建并且返回一個指定字體類型和大小的字體對象,fontName指定字體集的名字和風格(例如宋體,楷書等這一類型的),fontsize設置字體的大小```
- (UIFont *)fontWithSize:(CGFloat)fontSize;
// 返回字體的大小```
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize
// 使用標準的接口返回指定大小的字體對象```
- (CGFloat)systemFontSize
// 返回標準的系統字體大小```
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize
// 返回字體對象使用了標準接口來指定字體大小附加黑體風格```
- (CGFloat)buttonFontSize
// 返回按鈕使用標準字體```
+ (NSArray *)familyNames
// 返回系統可用字體集名稱的數組,一個NSString型數組對象,每一個元素包含了字型集名稱,字型集的名稱相當于字型的基礎名稱.如 Times New Roman,你可以輸入返回的字符串到 ```
- (NSArray<NSString *> *)fontNamesForFamilyName:(NSString *)familyName;
// 字體集的名稱,使用 familyNames 方法取得系統中的一個字體集的名稱```
可以通過以下方法,獲取到所有系統自帶字體
NSArray *familyNames = [UIFont familyNames];
for( NSString *familyName in familyNames ){
printf( "Family: %s \n", [familyName UTF8String] );
NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
for( NSString *fontName in fontNames ){
printf( "\tFont: %s \n", [fontName UTF8String] );
}
}```

### 那如何添加自定義的字體呢?
> 目前市面上有很多的APP都采取了自定義字體,比如keep,town
* 首先可以去百度,Google,或者bing去搜索你想要的字體,有很多大牛設計分享的字體包都不錯,哈哈,在大天朝就是有些牛人????

* 比如說,筆者就碰到了一個需求,我們高大上的視覺設計就需要把APP里英文和數字字體改為`DIN`字體
??確實比系統自帶好看( ????)
1. 于是我就搞到了這種字體的OTF文件,無奈,系統又只支持TTF(true type),不過我又找到了它的轉換工具,[傳送門](https://www.fontsquirrel.com/tools/webfont-generator),唉生活在天朝就是舒坦
2. 上圖

3. 開始配置工程了,是有點頭疼的
* 第一步找到你想用的字體的 ttf 格式,加入到你的工程的resouce目錄下,直接拖進來

* 在工程的plist中AddRow,“Fonts provided by application” ,然后添加key為item0,value為你剛才加入的din-bold.ttf ,依次添加進來,可以添加多個,使用的時候寫對應字體名字就行

* 這樣就可以直接用了, xxx.font = [UIFont fontWithName:@"xxx-xxxx" size:20.0];
* 而你剛才添加的幾個字體就能在控制臺打印中找得到了
> 注意還有一個重要的是:在“Copy Boundle Resources”中加入剛才添加的字體文件xxx.ttf ,如下

最后看一下最終效果,千言萬語不如一張gif圖,爽~~~

`版權聲明:本文為筆者原創文章,轉載請注明出處`[傳送門](http://www.lxweimin.com/users/29e2c915351f/latest_articles)