// // UIFont+RQExtension.m // RQCommon // // Created by 张嵘 on 2018/11/16. // Copyright © 2018 张嵘. All rights reserved. // /** * ( "PingFangSC-Ultralight", "PingFangSC-Regular", "PingFangSC-Semibold", "PingFangSC-Thin", "PingFangSC-Light", "PingFangSC-Medium" ) */ /** * 极细体 */ static NSString *const RQPingFangSC_Ultralight = @"PingFangSC-Ultralight"; /** * 常规体 */ static NSString *const RQPingFangSC_Regular = @"PingFangSC-Regular"; /** * 中粗体 */ static NSString *const RQPingFangSC_Semibold = @"PingFangSC-Semibold"; /** * 纤细体 */ static NSString *const RQPingFangSC_Thin = @"PingFangSC-Thin"; /** * 细体 */ static NSString *const RQPingFangSC_Light = @"PingFangSC-Light"; /** * 中黑体 */ static NSString *const RQPingFangSC_Medium = @"PingFangSC-Medium"; #import "UIFont+RQExtension.h" @implementation UIFont (RQExtension) /** * 苹方极细体 * * @param fontSize 字体大小 * */ + (instancetype)rq_fontForPingFangSC_UltralightFontOfSize:(CGFloat)fontSize { return [UIFont fontWithName:RQPingFangSC_Ultralight size:fontSize]; } /** * 苹方常规体 * * @param fontSize 字体大小 * */ + (instancetype)rq_fontForPingFangSC_RegularFontOfSize:(CGFloat)fontSize { return [UIFont fontWithName:RQPingFangSC_Regular size:fontSize]; } /** * 苹方中粗体 * * @param fontSize 字体大小 * */ + (instancetype)rq_fontForPingFangSC_SemiboldFontOfSize:(CGFloat)fontSize { return [UIFont fontWithName:RQPingFangSC_Semibold size:fontSize]; } /** * 苹方纤细体 * * @param fontSize 字体大小 * */ + (instancetype)rq_fontForPingFangSC_ThinFontOfSize:(CGFloat)fontSize { return [UIFont fontWithName:RQPingFangSC_Thin size:fontSize]; } /** * 苹方细体 * * @param fontSize 字体大小 * */ + (instancetype)rq_fontForPingFangSC_LightFontOfSize:(CGFloat)fontSize { return [UIFont fontWithName:RQPingFangSC_Light size:fontSize]; } /** * 苹方中黑体 * * @param fontSize 字体大小 * */ + (instancetype)rq_fontForPingFangSC_MediumFontOfSize:(CGFloat)fontSize { return [UIFont fontWithName:RQPingFangSC_Medium size:fontSize]; } +(void)load { //获取替换后的类方法 Method newMethod0 = class_getClassMethod([self class], @selector(adjustFont:)); //获取替换前的类方法 Method method0 = class_getClassMethod([self class], @selector(systemFontOfSize:)); //然后交换类方法 method_exchangeImplementations(newMethod0, method0); //获取替换后的类方法 Method newMethod1 = class_getClassMethod([self class], @selector(adjustFontWithName:size:)); //获取替换前的类方法 Method method1 = class_getClassMethod([self class], @selector(fontWithName:size:)); //然后交换类方法 method_exchangeImplementations(newMethod1, method1); } + (UIFont *)adjustFont:(CGFloat)fontSize{ UIFont *newFont = nil; if (kiPhone6Plus || IS_IPHONE_IPhoneX_All){ newFont = [UIFont adjustFont:fontSize + 2]; }else{ newFont = [UIFont adjustFont:fontSize]; } return newFont; } + (UIFont *)adjustFontWithName:(NSString *)name size:(CGFloat)fontSize { UIFont *newFont = nil; if (kiPhone6Plus || IS_IPHONE_IPhoneX_All){ newFont = [UIFont adjustFontWithName:name size:fontSize + 2]; }else{ newFont = [UIFont adjustFontWithName:name size:fontSize]; } return newFont; } @end