iOS 设备分辨率

设备 逻辑分辨率 物理分辨率 自然缩放因子
iPhone 5 320 x 568 640 x 1136 2x
iPhone 5S/5C 320 x 568 640 x 1136 2x
iPhone 6 375 x 667 750 x 1334 2x
iPhone 6 Plus 414 x 736 1080 x 1920 3x
iPhone 6s 375 x 667 750 x 1334 2x
iPhone 6s Plus 414 x 736 1080 x 1920 3x
iPhone SE 320 x 568 640 x 1136 2x
iPhone 7 375 x 667 750 x 1334 2x
iPhone 7 Plus 414 x 736 1080 x 1920 3x
iPhone 8 375 x 667 750 x 1334 2x
iPhone 8 Plus 414 x 736 1080 x 1920 3x
iPhone X 375 x 812 1125 x 2436 3x
iPhone XR 375 x 812 1125 x 2436 3x
iPhone XS 375 x 812 828 x 2436 3x
iPhone XS Max 414 x 896 1242 x 2688 3x
iPhone 11 414 x 896 828 x 1792 2x
iPhone 11 Pro 375 x 812 1125 x 2436 3x
iPhone 11 Pro Max 414 x 896 1242 x 2688 3x
逻辑分辨率 设备 高宽比
320 x 568 5、5s、5c、SE 1.775
375 x 667 6、6s、7、8 1.779
414 x 736 6P、6sP、7P、8P 1.777
414 x 896 XS Max、11、11 Pro Max 2.164
375 x 812 X、XS、XR、11 Pro 2.165
// 逻辑分辨率
CGRect bounds = [UIScreen mainScreen].bounds;
// 物理分辨率
CGRect nativeBounds = [UIScreen mainScreen].nativeBounds;
// 自然缩放因子
CGFloat scale = [UIScreen mainScreen].scale;
// 本地缩放因子
CGFloat nativeScale = [UIScreen mainScreen].nativeScale; 
  • 物理分辨率和自然缩放因子是固定的;
  • 逻辑分辨率和本地缩放因子是可变的,比如开启了放大模式,逻辑分辨率会降低,本地缩放因子会升高;
  • bounds * nativeScale = nativeBounds;
  • 标准模式下:scale == nativeScale、 放大模式下: scale != nativeScale;
  • Plus系列是个奇葩,标准和放大模式scale != nativeScale;

你可能感兴趣的:(iOS 设备分辨率)