iOS开发-文本字号自适应

开发中关于文本字号自适应的方法有很多种,最近项目用了宏定义的方法给大家分享

#define ZGW_SCREEN_BOUNDS            [[UIScreen mainScreen] bounds]
#define ZGW_SCREEN_WIDTH             ZGW_SCREEN_BOUNDS.size.width
#define ZGW_SCREEN_HEIGHT            ZGW_SCREEN_BOUNDS.size.height
#define ZGW_SCREEN_MAX_LENGTH       (MAX(ZGW_SCREEN_WIDTH, ZGW_SCREEN_HEIGHT))
#define ZGW_SCREEN_MIN_LENGTH       (MIN(ZGW_SCREEN_WIDTH, ZGW_SCREEN_HEIGHT))
手机型号 屏幕尺寸 像素尺寸
4/4S 320*480pt 640*960px 320
5/5S/5C/SE 320*568pt 640*1136px 320
6/6S/7/8 375*667pt 750*1334px 375
6+/6s+/7+/8+ 414*736pt 1242*2208px 414
x/xs/11pro 375*812pt 1125*2436px 375
xsMax/11proMax 414*896pt 1242*2688px 414
xr/11 414*896pt 828*1792px 414

/// 适配,屏幕宽高适配比例,岭南以 iPhone6 模板设计
#define ZGW_AutoSizeScale_X ((ZGW_SCREEN_HEIGHT == 667.0) ? 1.0 : (ZGW_SCREEN_WIDTH / 320.f))
#define ZGW_AutoSizeScale_Y ((ZGW_SCREEN_HEIGHT == 667.0) ? 1.0 : (ZGW_SCREEN_HEIGHT / 568.f))

#define ZGW_AutoConvertWithW_Value (_value_) (_value_ * ZGW_AutoSizeScale_X)
#define ZGW_AutoConvertWithH_Value (_value_) (_value_ * ZGW_AutoSizeScale_Y)

/// 普通字体大小
#define ZGW_SystemFont(_size_)          [UIFont boldSystemFontOfSize:_size_]
/// 普通字体大小,已做适配
#define ZGW_AutoSystemFont(_size_) [UIFont systemFontOfSize:ceil(ZGW_AutoConvertWithW_Value(_size_))]
/// 加粗字体大小
#define ZGW_BoldFont(_size_)              [UIFont boldSystemFontOfSize:_size_]
/// 加粗字体大小,已做适配
#define ZGW_AutoBoldFont(_size_)      [UIFont boldSystemFontOfSize:ceil(ZGW_AutoConvertWithW_Value(_size_))]
/// name 字体大小
#define ZGW_NameFont(_name_,_size_)              [UIFont fontWithName:_name_ size:_size_]
/// name 字体大小,已做适配
#define ZGW_AutoNameFont(_name_,_size_)     [UIFont fontWithName:_name_ size:ceil(ZGW_AutoConvertWithW_Value(_size_))]

关于苹果设备分辨率和开发尺寸可以参考这篇文章

你可能感兴趣的:(iOS开发-文本字号自适应)