1、代码
#pragma mark - 判断机型 /* 设备是否为iPhone4、iPhone4S (1)逻辑分辨率(point):320x480 (2)物理分辨率(pixel,像素):640x1136 (3)缩放因子 :@2x (4)PPI(像素密度): 326 (5)对角线:3.5 inch */ #define iPhone4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,960), [[UIScreen mainScreen] currentMode].size) : NO) /* 设备是否为iPhone5、iPhonec5C、iPhone5S (1)逻辑分辨率(point):320x568 (2)物理分辨率(pixel,像素):640x1136 (3)缩放因子 :@2x (4)PPI(像素密度): 326 (5)对角线:4 inch */ #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) /* 设备是否为iPhone6、iPhone7、iPhone8 (1)逻辑分辨率(point):375x667 (2)物理分辨率(pixel,像素):750x1334 (3)缩放因子 :@2x (4)PPI(像素密度): 326 (5)对角线:4.7 inch */ #define iPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO) /* 设备是否为iPhone6Plus 、iPhone7Plus、iPhone8Plus (1)逻辑分辨率(point):414x736 (2)物理分辨率(pixel,像素):实际为1080*1920,做了缩放后为1242x2208 (3)缩放因子 :@3x (4)PPI(像素密度): 401 (5)对角线:5.5 inch */ #define iPhone6P ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeEqualToSize(CGSizeMake(1242,2208), [[UIScreen mainScreen] currentMode].size)) : NO) /* 设备是否为iPhoneX、iPhoneXS (1)逻辑分辨率(point):375*812 (2)物理分辨率(pixel,像素):1125x2436 (3)缩放因子 :@3x (4)PPI(像素密度): 458 (5)对角线:5.8 inch */ #define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125,2436), [[UIScreen mainScreen] currentMode].size) : NO) /* 设备是否为判断iPHoneXR (1)逻辑分辨率(point):414*896 (2)物理分辨率(pixel,像素):828x1792 (3)缩放因子 :@2x (4)PPI(像素密度): 326 (5)对角线:6.1 inch */ #define iPhoneXR ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828,1792), [[UIScreen mainScreen] currentMode].size) : NO) /* 设备是否为判断iPhoneXs Max (1)逻辑分辨率(point):414*896 (2)物理分辨率(pixel,像素):1242*2688 (3)缩放因子 :@3x (4)PPI(像素密度): 458 (5)对角线:6.5 inch */ #define iPhoneXS_MAX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242,2688), [[UIScreen mainScreen] currentMode].size) : NO)
2、列表
3、所有机型参数
3、关于iPhone6Plus的物理分辨率的问题