iOS:iPhone XR、iPhoneXS、iPhone XS Max屏幕适配

这篇博客介绍了2018年新款iPhone XR、XS和XS Max的屏幕适配情况,强调它们与iPhone X的适配策略相同,屏幕宽度与4.7寸和5.5寸系列保持一致,高度不同。文章提供了屏幕尺寸的细节,并建议将针对iPhone X的适配方案扩展到所有刘海屏设备,通过调整高度特性来实现通用适配。

2018年9月苹果发布了最新款iPhone,分别为iPhone XR、iPhone XS和iPhone XS Max。
各大网站的测评和详细参数都已有很多了,所以本文不在列举这些。
在屏幕适配方面与iPhone X的适配完全一致,大家想了解详细的可以查看这篇文章:
iOS11和iPhone X屏幕适配

iPhone刘海屏设备对比

名称屏幕分辨率代码获取屏幕大小使用几倍图
iPhone X2436×1125{375, 812}@3x
iPhone XR1792x828{414, 896}@2x
iPhone XS2436×1125{375, 812}@3x
iPhone XS Max2688x1242{414, 896}@3x

由上可知:
iPhone X和iPhone XS屏幕大小是一样的,与iPhone 4.7寸屏系列,屏幕宽度一致,只是高度不一样。
iPhone XR和iPhone XS Max屏幕大小是一样的,与iPhone5.5寸屏系列,屏幕宽度一致,只是高度不一样。
并且目前所有的刘海屏的上下安全距离大小是一样的状态栏高度为44,底部高度为34。
根据这些体征,我们完全可以把对iPhone X的屏幕适配修,改为对所有的刘海屏的屏幕适配。利用其高度的特殊性。
修改代码如下:
OC代码

//屏幕宽高
#define kScreenW [UIScreen mainScreen].bounds.size.width
#define kScreenH [UIScreen mainScreen].bounds.size.height
// 刘海屏 宏定义
#define iPhoneX ((kScreenH == 812.f || kScreenH == 896.f) ? YES : NO)
// 适配刘海屏状态栏高度
#define CF_StatusBarHeight (iPhoneX ? 44.f : 20.f)
// 适配iPhone X 导航栏高度
#define CF_NavHeight (iPhoneX ? 88.f : 64.f)


// 适配iPhone X Tabbar距离底部的距离
#define CF_TabbarSafeBottomMargin (iPhoneX ? 34.f : 0.f)
// 适配iPhone X Tabbar高度
#define CF_TabbarHeight (iPhoneX ? (49.f+34.f) : 49.f)

Swift代码

//屏幕宽高
public let kScreenW = UIScreen.main.bounds.size.width
public let kScreenH = UIScreen.main.bounds.size.height
// 刘海屏 宏定义
public let iPhoneX = ((kScreenH == 812.0) || (kScreenH == 896.0) ? true : false)
// 适配刘海屏状态栏高度
public let CF_StatusBarHeight = iPhoneX ? 44.0 : 20.0
// 适配iPhone X 导航栏高度
public let CF_NavHeight = iPhoneX ? 88.0 : 64.0


// 适配iPhone X Tabbar距离底部的距离
public let CF_TabbarSafeBottomMargin = iPhoneX ? 34.0 : 0.0
// 适配iPhone X Tabbar高度
public let CF_TabbarHeight = iPhoneX ? (49.0 + 34.0) : 49.0



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值