首页 > 编程知识 正文

iphone各型号屏幕分辨率,苹果各机型分辨率

时间:2023-05-04 16:07:43 阅读:215793 作者:4375

1启动图的适配
如果用的是LaunchScreen.storyboard就不需要考虑,如果是LaunchImage启动图那么需要准备正确的启动图,注意XR使用的@2x的图

机型启动图及分辨率4s320x480 @2x5,5s,se320x568 @2x6,6s,7,8375x667 @2x6,6s,7,8(plus)414x736 @3xx,xs375x812 @3xxs max414x896 @3xxr414x896 @2x11414x896 @2x11 Pro375x812 @3x11 Pro Max414x896 @3x

备注:Xcode10,模拟器运行发现xr的宽是375高是812(是因为当时没有添加xr的启动图照成添加以后414x896)
2屏幕的适配
分2种思路 第一种是根据屏幕适配 还有一种根据设备来判断
根据屏幕
1).我们可以根据原定机型的宽高系数来适配比如公司的模型机型是6那么适配如下
Iphone6ScaleWidth = [UIScreen mainScreen].bounds.size.width/375; Iphone6ScaleHeight = [UIScreen mainScreen].bounds.size.height/667;
然后控件的宽高乘以原模型的宽高系数这样也是可行的
2).根据宽或者高来确认机型来适配
这种做法比较麻烦需要坐判断
3)根据宽高比来适配
刘海的2:1。其他的1.7:1
根据设备来适配

**//判断是否是ipad#define isPad ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)//判断iPhone4系列#define kiPhone4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//判断iPhone5系列#define kiPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//判断iPhone6系列#define kiPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//判断iphone6+系列#define kiPhone6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//判断iPhoneX#define IS_IPHONE_X ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//判断iPHoneXr#define IS_IPHONE_Xr ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//判断iPhoneXs#define IS_IPHONE_Xs ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//判断iPhoneXs Max#define IS_IPHONE_Xs_Max ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)

适配x系列
适配x系列主要是对顶部导航栏+状态栏 和底部的距离适配 x系列的状态栏是44其他的是20
底部的其他为0 x系列底部要预留25像素
那么我们根据设备判断是否是x系列然后做相应操作

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。