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的主要属性列表
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的主要方法列表
函数名
说明 +(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]];