UIFont(FWToolkit)

@interface UIFont (FWToolkit)

/// 全局自定义字体句柄,优先调用,返回nil时使用系统字体
@property (class, nonatomic, copy, nullable) UIFont * _Nullable (^fw_fontBlock)(CGFloat size, UIFontWeight weight) NS_REFINED_FOR_SWIFT;

/// 是否自动等比例缩放字体,默认NO。启用后所有fw字体size都会自动*relativeScale
@property (class, nonatomic, assign) BOOL fw_autoScale NS_REFINED_FOR_SWIFT;

/// 返回系统Thin字体,自动等比例缩放
+ (UIFont *)fw_thinFontOfSize:(CGFloat)size NS_REFINED_FOR_SWIFT;
/// 返回系统Light字体,自动等比例缩放
+ (UIFont *)fw_lightFontOfSize:(CGFloat)size NS_REFINED_FOR_SWIFT;
/// 返回系统Regular字体,自动等比例缩放
+ (UIFont *)fw_fontOfSize:(CGFloat)size NS_REFINED_FOR_SWIFT;
/// 返回系统Medium字体,自动等比例缩放
+ (UIFont *)fw_mediumFontOfSize:(CGFloat)size NS_REFINED_FOR_SWIFT;
/// 返回系统Semibold字体,自动等比例缩放
+ (UIFont *)fw_semiboldFontOfSize:(CGFloat)size NS_REFINED_FOR_SWIFT;
/// 返回系统Bold字体,自动等比例缩放
+ (UIFont *)fw_boldFontOfSize:(CGFloat)size NS_REFINED_FOR_SWIFT;

/// 创建指定尺寸和weight的系统字体,自动等比例缩放
+ (UIFont *)fw_fontOfSize:(CGFloat)size weight:(UIFontWeight)weight NS_REFINED_FOR_SWIFT;

/// 获取指定名称、字重、斜体字体的完整规范名称
+ (NSString *)fw_fontName:(NSString *)name weight:(UIFontWeight)weight italic:(BOOL)italic NS_REFINED_FOR_SWIFT;

/// 是否是粗体
@property (nonatomic, assign, readonly) BOOL fw_isBold NS_REFINED_FOR_SWIFT;

/// 是否是斜体
@property (nonatomic, assign, readonly) BOOL fw_isItalic NS_REFINED_FOR_SWIFT;

/// 当前字体的粗体字体
@property (nonatomic, strong, readonly) UIFont *fw_boldFont NS_REFINED_FOR_SWIFT;

/// 当前字体的非粗体字体
@property (nonatomic, strong, readonly) UIFont *fw_nonBoldFont NS_REFINED_FOR_SWIFT;

/// 当前字体的斜体字体
@property (nonatomic, strong, readonly) UIFont *fw_italicFont NS_REFINED_FOR_SWIFT;

/// 当前字体的非斜体字体
@property (nonatomic, strong, readonly) UIFont *fw_nonItalicFont NS_REFINED_FOR_SWIFT;

/// 字体空白高度(上下之和)
@property (nonatomic, assign, readonly) CGFloat fw_spaceHeight NS_REFINED_FOR_SWIFT;

/// 根据字体计算指定倍数行间距的实际行距值(减去空白高度),示例:行间距为0.5倍实际高度
- (CGFloat)fw_lineSpacingWithMultiplier:(CGFloat)multiplier NS_REFINED_FOR_SWIFT;

/// 根据字体计算指定倍数行高的实际行高值(减去空白高度),示例:行高为1.5倍实际高度
- (CGFloat)fw_lineHeightWithMultiplier:(CGFloat)multiplier NS_REFINED_FOR_SWIFT;

/// 计算当前字体与指定字体居中对齐的偏移值
- (CGFloat)fw_baselineOffset:(UIFont *)font NS_REFINED_FOR_SWIFT;

@end

Undocumented

  • 全局自定义字体句柄,优先调用,返回nil时使用系统字体

    Declaration

    Objective-C

    @property (class, nonatomic, copy, nullable) UIFont *_Nullable (^) (CGFloat, UIFontWeight) fw_fontBlock;
  • 是否自动等比例缩放字体,默认NO。启用后所有fw字体size都会自动*relativeScale

    Declaration

    Objective-C

    @property (class, nonatomic) BOOL fw_autoScale;
  • 返回系统Thin字体,自动等比例缩放

    Declaration

    Objective-C

    + (nonnull UIFont *)fw_thinFontOfSize:(CGFloat)size;
  • 返回系统Light字体,自动等比例缩放

    Declaration

    Objective-C

    + (nonnull UIFont *)fw_lightFontOfSize:(CGFloat)size;
  • 返回系统Regular字体,自动等比例缩放

    Declaration

    Objective-C

    + (nonnull UIFont *)fw_fontOfSize:(CGFloat)size;
  • 返回系统Medium字体,自动等比例缩放

    Declaration

    Objective-C

    + (nonnull UIFont *)fw_mediumFontOfSize:(CGFloat)size;
  • 返回系统Semibold字体,自动等比例缩放

    Declaration

    Objective-C

    + (nonnull UIFont *)fw_semiboldFontOfSize:(CGFloat)size;
  • 返回系统Bold字体,自动等比例缩放

    Declaration

    Objective-C

    + (nonnull UIFont *)fw_boldFontOfSize:(CGFloat)size;
  • 创建指定尺寸和weight的系统字体,自动等比例缩放

    Declaration

    Objective-C

    + (nonnull UIFont *)fw_fontOfSize:(CGFloat)size weight:(UIFontWeight)weight;
  • 获取指定名称、字重、斜体字体的完整规范名称

    Declaration

    Objective-C

    + (nonnull NSString *)fw_fontName:(nonnull NSString *)name
                               weight:(UIFontWeight)weight
                               italic:(BOOL)italic;
  • 是否是粗体

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL fw_isBold;
  • 是否是斜体

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL fw_isItalic;
  • 当前字体的粗体字体

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NS_REFINED_FOR_SWIFT UIFont *fw_boldFont;
  • 当前字体的非粗体字体

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NS_REFINED_FOR_SWIFT UIFont *fw_nonBoldFont;
  • 当前字体的斜体字体

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NS_REFINED_FOR_SWIFT UIFont *fw_italicFont;
  • 当前字体的非斜体字体

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NS_REFINED_FOR_SWIFT UIFont *fw_nonItalicFont;
  • 字体空白高度(上下之和)

    Declaration

    Objective-C

    @property (nonatomic, readonly) CGFloat fw_spaceHeight;
  • 根据字体计算指定倍数行间距的实际行距值(减去空白高度),示例:行间距为0.5倍实际高度

    Declaration

    Objective-C

    - (CGFloat)fw_lineSpacingWithMultiplier:(CGFloat)multiplier;
  • 根据字体计算指定倍数行高的实际行高值(减去空白高度),示例:行高为1.5倍实际高度

    Declaration

    Objective-C

    - (CGFloat)fw_lineHeightWithMultiplier:(CGFloat)multiplier;
  • 计算当前字体与指定字体居中对齐的偏移值

    Declaration

    Objective-C

    - (CGFloat)fw_baselineOffset:(nonnull UIFont *)font;