iPhone 屏幕數據
型號 | 屏幕尺寸 | 分辨率(pt) | Reader | 分辨率(px) | 渲染后(px) | PPI |
---|---|---|---|---|---|---|
iPhone 3GS | 3.5英寸 | 320 x 480 | @1x | 320 x 480 | 空 | 163 |
iPhone 4/4S | 3.5英寸 | 320 x 480 | @2x | 640 x 960 | 空 | 326 |
iPhone 5/5S/5C/SE | 4.0英寸 | 320 x 568 | @2x | 640 x 1136 | 空 | 326 |
iPhone 6/6S/7/8/SE(二代) | 4.7英寸 | 375 x 667 | @2x | 750 x 1334 | 空 | 326 |
iPhone 6/6S/7/8 Plus | 5.5英寸 | 414 x 736 | @3x | 1080 x 1920 | 1242 x 2208 | 401 |
iPhone X/XS/11 Pro | 5.8英寸 | 375 x 812 | @3x | 1125 x 2436 | 空 | 458 |
iPhone XR/11 | 6.1英寸 | 414 x 896 | @2x | 828 x 1792 | 空 | 326 |
iPhone XS Max/11 Pro Max | 6.5英寸 | 414 x 896 | @3x | 1242 x 2688 | 空 | 458 |
iPhone 12/13 mini | 5.4英寸 | 375 x 812 | @3x | 1080 x 2340 | 1125 x 2436 | 476 |
iPhone 12/12 Pro/13/13 Pro /14 | 6.1英寸 | 390 x 844 | @3x | 1170 x 2532 | 空 | 460 |
iPhone 14/15 Pro/15 | 6.1英寸 | 393 x 852 | @3x | 1179 x 2556 | 空 | 460 |
iPhone 12/13 Pro Max/14 Plus | 6.7英寸 | 428 x 926 | @3x | 1284 x 2778 | 空 | 458 |
iPhone 14/15 Pro Max/15 Plus | 6.7英寸 | 430 x 932 | @3x | 1290 x 2796 | 空 | 460 |
各參數簡介
屏幕尺寸: 實際手機的對角線的物理長度,可以直觀的評估手機的物理大小。
pt(point):表示點,邏輯單位,虛擬的,沒有實際大小。它的大小在iOS開發中通常與px掛鉤,在 iPhone 3GS 中一個點代表一個像素大小,在iPhone 4/4S中一個點代表兩個像素大小,主要用來iOS開發進行頁面布局,我們在代碼中獲取的屏幕的寬高就是pt單位的。
px(pixel):表示像素。是屏幕上所顯示的最小單位,在分辨率高的屏幕上,一個像素可能會達到肉眼無法識別的大小。
pt和px的區別:pt是絕對長度,不隨屏幕像素密度變化而變化,就像iPhone 4/4S比 iPhone 3GS 分辨率大一倍,但是他們的pt還是一樣的,只不過在3GS中一個點代表一個像素,1:1的關系,4/4S中一個點代表兩個像素,1:2的關系,在日常開發中用pt來進行布局開發,能夠省去不同分辨率計算的痛苦,同時便于UI切圖。
總結:px用于UI設計計量單位,pt用于實際iOS開發UI布局計量單位
Reader:px和pt的倍數關系,一般用來切不同倍數的圖,來適配各個型號iPhone的分辨率。
渲染后(px):但是Plus版本iPhone的實際PPI是401,理論上蘋果應該用401 / 326 x @2x = @2.46x的素材,但是這個比例很難切圖,所以為了方便采用了@3x的素材,然后再縮放到@2.46x的屏幕上,也就是縮放到2.46 / 3 = 83%,實際上蘋果選取了一個接近比例的87%。這樣算下來,物理分辨率和虛擬分辨率的比率是87%,也就是1080
/ 0.86 = 1242,1920 / 0.87 = 2208。好處是開發者更方便,比如準備素材時候,字號可以直接調整為3x的。
注意:Plus版本iPhone 官網的實際分辨率就是1080 x 1920,1242 x 2208是為了方便UI設計和開發的放大版分辨率,但是其他版本的iPhone都是正常的。
PPI(Pixels Per Inch):也叫像素密度,所表示的是每英寸所擁有的像素數量。因此PPI數值越高,即代表顯示屏能夠以越高的密度顯示圖像。當然,顯示的密度越高,擬真度就越高。
Xcode 10模擬器適配
Xcode 10中增加了 iPhone XS Max , iPhone XR的模擬器,但是如果直接跑的話,呈現的還是 iPhone X的尺寸和大小。解決這個問題辦法就是,適配App的Max和XR啟動圖(LaunchImage),再重啟才能真正的呈現 iPhone XS Max模擬器真正的大小。如圖: