iOS 中字型樣式設定 API

2021-09-11 10:53:53 字數 1514 閱讀 3792

今天專案需求裡要求給文字設定字型樣式, 以前的工作中並沒有涉及字型樣式的設定, 後來在網上找到了相關的方法, 這裡總結一下.

cocoauikit框架中為開發者提供了高層次的api以及方便的列舉、載入和使用字型。cocoa touch使用uifont類來封裝字型。每個 ios 裝置都內建了系統字型。

如果是在xib或者storyboard中你可以通過, 比如說uilabel,你可以同過設定它的屬性來直接設定字型樣式:

如果你是在**中設定文字字型,你就必須知道更多,請往下看。

字型被組織成字型族科(families),每個族科又包含字樣(faces)。例如,helvetica 是乙個字型族科,helvetica bold是 helvetica 族科中的乙個字樣。

要載入字型,你必須知道字型的字樣(字型的名字),要知道字樣,你必須知道它的族科。

怎麼獲取系統字型的族科呢,我們可以迴圈輸出系統字型族科,使用uifont類的familynames類方法,通過這個類方法得到字型族科名字然後用uifont類的fontnamesfo***milyname:類方法,傳遞family name作為引數,並返回乙個字型名稱的陣列(array):

for(nsstring *familyname in [uifont familynames]) 

}複製**

在 ios 模擬器上執行**,得到如下結果:

...

font family = geeza pro

geezapro

geezapro-bold

font family = helvetica neue

helveticaneue-italic

helveticaneue-bold

...複製**

字型族科後面加-bold就是加粗, 加-oblique就是傾斜等.

拿到字型族科和字樣名稱以後,你就可以直接使用**設定文字的字樣了。

如下mouthluilabel的乙個例項物件,可以使用uifontlabelfont屬性賦值,執行**,你就會發現,字型神奇的發生了變化。

mouthl.font = [uifont fontwithname:@"pingfangtc-light" size:11];

複製**

下面這個鏈結是我所有文章的乙個集合目錄。這些文章凡是涉及實現的,每篇文章中都有 github 位址,github 上都有原始碼。

ios字型設定

我們在日常的專案開發中,經常需要為某些字型進行個性化的設定,改變字型的風格 所以就引入了uifont來設定字型 經常用到是uifont的乙個類函式 fontwithname nsstring fontname size cgfloat fontsize 建立並且返回乙個指定字型型別和大小的字型物件,...

TextView設定字型樣式

packagecom.zhou.activity import importandroid.graphics.color importandroid.os.bundle importandroid.text.spannable importandroid.text.spannablestring i...

Android 設定字型樣式

接下來就是 的使用了 直接貼圖 android layout width wrap content android layout height wrap content android text 字型樣式 android textsize 20dp android id id tv 1 androi...