UIFont继承自NSObject,用于获取和设置字体信息的接口。
1.使用任意字体名来创建UIFont类实例:
- + (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize;
- UIFont *font = [UIFont fontWithName:@"courer-Bold" size:[UIFont labelFontSize]];
2.获取用户偏好字体:
- + (UIFont *)preferredFontForTextStyle:(NSString *)style NS_AVAILABLE_IOS(7_0);
3.以数组的形式返回已安装的字体名称:
- + (NSArray *)familyNames;
4.取得可用的字型集的名称。然後你可以用这些恰当的名称去取得字体名字:
- + (NSArray *)fontNamesForFamilyName:(NSString *)familyName;
例如:
- for (NSString* family in [UIFont familyNames])
- {
- NSLog(@"%@", family);
- for (NSString* name in [UIFont fontNamesForFamilyName: family])
- {
- NSLog(@" %@", name);
- }
- }
5.创建新字体,与当前字体相同,需要指定大小:
- - (UIFont *)fontWithSize:(CGFloat)fontSize;
6.通过描述符返回字体:
- + (UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor size:(CGFloat)pointSize NS_AVAILABLE_IOS(7_0);
7.返回字体描述符:
- - (UIFontDescriptor *)fontDescriptor NS_AVAILABLE_IOS(7_0);
UIFont的主要属性列表
属性名/类型 | 属性说明 |
---|---|
familyName (NSString型) | 获得字体的family名称 例:NSString *str = font.familyName; |
fontName (NSString型) | 获得字体名称 例:NSString *str = font.fontName; |
pointSize (CGFloat型) | 获得字体大小 例:CGFloat *f = font.pointSize; |
lineHeight (CGFloat型) | 获得行的高度 例:CGFloat *f = font.lineHeight; |
capHeight (CGFloat型) | 获得大文字的高度 例:CGFloat *f = font.capHeight; |
xHeight (CGFloat型) | 获得小文字[x]的高度 例:CGFloat *f = font.xHeight; |
ascender (CGFloat型) | 获得ascender的值 例:CGFloat *f = font.ascender; |
descender (CGFloat型) | 获得descender的值 例:CGFloat *f = font.descender; |
UIFont的主要方法列表
函数名 | 说明 |
---|---|
+(UIFont*)systemFontOfSize: (CGFloat)fontSize | 返回指定字体的标准样式 字体Size为20的标准字体 例: UIFont *font = [UIFont systemFontOfSize:20]; |
+(UIFont*)boldSystemFontOfSize: (CGFloat)fontSize | 返回指定字体的粗体样式 字体Size为20的粗体 例: UIFont *font = [UIFont boldSystemFontOfSize:20]; |
+(UIFont*)italicSystemFontOfSize: (CGFloat)fontSize | 返回指定字体的斜体样式 字体Size为20的斜体 例: UIFont *font = [UIFont italicSystemFontOfSize:20]; |
+(CGFloat)systemFontSize | 返回标准字体大小 例: UIFont *font = [UIFont systemFontOfSize:[UIFont systemFontSize]]; |
+(CGFloat)smallSystemFontSize | 返回比系统标准字体小的字体大小 例: UIFont *font =[UIFont systemFontOfSize: [UIFont smallSystemFontSize]]; |
+(CGFloat)labelFontSize | 返回Label使用的标准字体大小 例: UIFont *font = [UIFont systemFontOfSize:[UIFont labelFontSize]]; |
+(CGFloat)buttonFontSize | 返回按钮使用的标准字体大小 例: UIFont *font = [UIFont systemFontOfSize:[UIFont buttonFontSize]]; |
+(NSArray*)familyNames | 返回可以使用的字体family名 例: NSArray *arr = [UIFont familyNames]; |
UIFont代码示例
//系统标准字体定义 UIFont *font = [UIFont systemFontOfSize:[UIFont systemFontSize]]; //系统标准字体,Size:24字体定义 UIFont *font = [UIFont systemFontOfSize:24]; //斜体+小字体定义 UIFont *font = [UIFont italicSystemFontOfSize:[UIFont smallSystemFontSize]]; //粗体+按钮用字体 定义 UIFont *font = [UIFont boldSystemFontOfSize:[UIFont buttonFontSize]]; //字体名:AppleGothic、字体大小:标准 UIFont *font = [UIFont fontWithName:@"AppleGothic" size:[UIFont systemFontSize]];