一個(gè)APP展現(xiàn)在用戶的面前,最直觀的視覺元素就是文字踩衩,圖片以及文字所采用的字體和文字顏色昔瞧。從iOS開發(fā)的角度來說决帖,無論UIKit的哪一個(gè)控件蚓胸,都少不了要和這幾個(gè)元素打交道挣饥。在UIKit框架中,封裝了這3個(gè)基本的類供我們直接調(diào)用,分別是UIFont
,UIColor
,UIImage
下面我們分析這幾個(gè)基本類的用法
1. UIFont
UIFont類用來管理APP展現(xiàn)在用戶眼前的所有跟文字有關(guān)的字體和字號(hào)大小沛膳,當(dāng)然你也可以使用自定義的字體亮靴。該類的繼承結(jié)構(gòu):UIFont-->NSObject
-
屬性
@property(nonatomic,readonly,strong) NSString *familyName;
@property(nonatomic,readonly,strong) NSString *fontName;
@property(nonatomic,readonly) CGFloat pointSize;
@property(nonatomic,readonly) CGFloat ascender;
@property(nonatomic,readonly) CGFloat descender;
@property(nonatomic,readonly) CGFloat capHeight;
@property(nonatomic,readonly) CGFloat xHeight;
@property(nonatomic,readonly) CGFloat lineHeight NS_AVAILABLE_IOS(4_0);
@property(nonatomic,readonly) CGFloat leading;
familyName代表的意思是字體的名字,英文也就是TypeFace,如宋體于置,黑體茧吊,fontName則代表字體里面的具體的名字,如宋體粗體,宋體斜體等等八毯。具體的指定一種字體應(yīng)該是包括fontName和字號(hào)大小.
pointSize就代表字號(hào)的大小搓侄,ascender代表基于字體的基線最大的上升高度,因?yàn)橛行┪淖謺?huì)比較復(fù)雜,如上下結(jié)構(gòu)的中文话速,descender代表基于基線的最大下降的高度讶踪,如中文的折彎鉤
和英文的gqy
之類的會(huì)有最低高度限制,這三個(gè)屬性基本上就規(guī)定了文字在界面上的繪制區(qū)域泊交。
英文字體是基于字母x來作為最基本的框架來設(shè)計(jì)乳讥,xHeight就代表小寫字母x的高度柱查,capHeight則代表大寫字母的高度。
leading代表從規(guī)定字號(hào)的字體上基線到下基線之間的距離云石,也就是一行的高度唉工,用lineHeight屬性來代替。
這些屬性都是只讀模式的汹忠,實(shí)際開發(fā)中基本上用不到淋硝,我們更多地是使用類方法。
-
類方法
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;