UIFont详解

本文详细探讨了UIFont类,它是Objective-C中用于处理字体的基石。内容涵盖如何使用字体名称创建实例,获取可用字体集合,调整字体大小,以及利用描述符操作字体。此外,还列举了UIFont的主要属性和方法,并提供了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 *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]];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值