iOS UIFont


继承:NSObject

符合:NSCopying

Framework:UIKit 在iOS 2.0 和之后。


        UIFont类提供了获取和设置字体的接口信息。在用于布局时,UIFont类提供了访问字体的特征也为系统提供了访问字体的字形信息。你使用字体对象通过接受它们作为参数的方法。

        你可以不使用创建UIFont对象分配(alloc)和初始化(init)方法。相反,你可以使用UIFont类方法,如preferredFontForTextStyle:查找和检索所需要的字体的对象。如果它存在,这些方法检查现有的字体对象指定的特殊特征并返回它。否则,他们基于所需要的字体特征创建一个新的字体对象。

        由于字体对象是不可变的,所以在你的应用程序是安全的使用多线程。


创建字体

/* 返回字体与指定的文本样式。 可用于iOS7.0和之后
 * style|他返回一个字体的文本样式。可以看“文本样式”UIFontDescriptor Class Reference公认值。
 */
+ (UIFont *)preferredFontForTextStyle:(NSString *)style;

/* 返回指定的名称和大小的字体对象。 可用于iOS2.0和之后
 * fontName|这个名字包含字体名称和字体的具体样式信息。
 * fontSize|字体的大小(点)是按比例缩小的。这个值必须大于0.0。
 */
+ (UIFont *)fontWithName:(NSString *)fontName
                    size:(CGFloat)fontSize;

/* 返回指定大小的字体对象。 可用于iOS2.0和之后
 * fontSize|字体的大小(点)是按比例缩小的。这个值必须大于0.0。
 */
- (UIFont *)fontWithSize:(CGFloat)fontSize;

创建系统字体

仔细想想在使用这些方法。在大多数情况下,返回的字体+ preferredFontForTextStyle:会更合适,会尊重用户的选择内容大小类别。

/* 返回指定大小的字体对象。 可用于iOS2.0和之后
 * fontSize|字体的大小(点)是按比例缩小的。这个值必须大于0.0。
 */
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;

/* 返回字体的对象指定的大小和权重。可用于iOS8.2和之后
 * fontSize|字体的大小(点)是按比例缩小的。这个值必须大于0.0。
 * weight|指定的字体,字体权重不变。可能值的列表,请参阅“字体大小”UIFontDescriptor类参考。避免将一个任意的浮点数权重,因为字体可能不包括每一个变体的权重。
 */
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize
                      weight:(CGFloat)weight;

/* 返回指定大小的字体对象。 可用于iOS2.0和之后
 * fontSize|字体的大小(点)是按比例缩小的。这个值必须大于0.0。
 */
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;

/* 返回指定大小的字体对象。 可用于iOS2.0和之后
 * fontSize|字体的大小(点)是按比例缩小的。这个值必须大于0.0。
 */
+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;

/* 返回字体的对象指定的大小和权重。可用于iOS9.0和之后
 * fontSize|字体的大小(点)是按比例缩小的。这个值必须大于0.0。
 * weight|指定的字体,字体权重不变。可能值的列表,请参阅“字体大小”UIFontDescriptor类参考。避免将一个任意的浮点数权重,因为字体可能不包括每一个变体的权重。
 */
+ (UIFont *)monospacedDigitSystemFontOfSize:(CGFloat)fontSize
                                     weight:(CGFloat)weight;

获得可用的字体名称

//返回一个数组系统上可用的字体名称。 可用于iOS2.0和之后
+ (NSArray<NSString *> *)familyNames;

/* 返回一个数组特定字体上可用的字体名称。 可用于iOS2.0和之后
 * familyName|字体的名称。使用familyNames方法得到一组系统上可用的字体名称。
 */
+ (NSArray<NSString *> *)fontNamesForFamilyName:(NSString *)familyName;

获取字体名称属性

//字体名称。(只读) 可用于iOS2.0和之后
@property(nonatomic, readonly, strong) NSString *familyName;

//字体外观名称 。(只读) 可用于iOS2.0和之后
@property(nonatomic, readonly, strong) NSString *fontName;

获取字体度量

//可用于iOS2.0和之后
@property(nonatomic, readonly) CGFloat pointSize;

//可用于iOS2.0和之后
@property(nonatomic, readonly) CGFloat ascender;

//可用于iOS2.0和之后
@property(nonatomic, readonly) CGFloat descender;

//可用于iOS2.0和之后
@property(nonatomic, readonly) CGFloat leading;

//可用于iOS2.0和之后
@property(nonatomic, readonly) CGFloat capHeight;

//可用于iOS2.0和之后
@property(nonatomic, readonly) CGFloat xHeight;

//可用于iOS4.0和之后
@property(nonatomic, readonly) CGFloat lineHeight;

获取系统字体信息

//返回用于标签的标准字体大小。 可用于iOS2.0和之后
+ (CGFloat)labelFontSize;

//返回按钮使用的标准字体大小。 可用于iOS2.0和之后
+ (CGFloat)buttonFontSize;

//返回标准小系统字体的大小。   可用于iOS2.0和之后
+ (CGFloat)smallSystemFontSize;

//返回标准的系统字体的大小。   可用于iOS2.0和之后
+ (CGFloat)systemFontSize;


获取字体描述

//返回一个字体描述符描述字体。 可用于iOS7.0和之后
- (UIFontDescriptor *)fontDescriptor;

/* 返回一个字体匹配给定的字体描述符。可用于iOS7.0和之后
 * descriptor|字体描述符匹配。
 * size|点的字体的大小比例。如果大于0.0,它优先于UIFontDescriptorSizeAttribute在描述符。
 */
+ (UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor
                          size:(CGFloat)pointSize;





















  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

u014068781

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值