天天看點

ios開發的frame、實體螢幕尺寸和圖檔分辨率

型号 螢幕尺寸(inch) 邏輯分辨率(point) 縮放因子(scale factor) 實體分辨率(pixel) 像素密度(PPI)
iPhone3GS 3.5 320 * 480 @1x 320 * 480 163
iPhone4/4s 3.5 320 * 480 @2x 640 * 960 326
iPhone5/5s 4 320 * 568 @2x 640 * 1136 326
iPhone6/6s 4.7 375 * 667 @2x 750 * 1334 326
iPhone6Plus/6s Plus 5.5 414 * 736 @3x 1242 * 2208 401

圖1

    實體螢幕尺寸:一般用對角線的長度(英寸)來衡量,也就是你看到的實際大小。

    邏輯分辨率是與實體螢幕尺寸對應的,隻是為了程式員更好的控制控件的位置,其反應到程式就是我們常用的frame。從圖1中可以看到,iphone3GS和iphone4/4s的實體螢幕大小相同,其frame(邏輯分辨率)也對應相同;iphone4/4s和iphone5/5s的螢幕尺寸不同,其邏輯分辨率也不同。

    實體分辨率:指液晶屏最高可顯示的像素數,也就是一塊螢幕中含有多少個發光單元。同樣大小的螢幕,其發光單元的數量在制造的時候就已确定。比如iphone4/4s相對于iphone3GS來說,其螢幕大小沒變但是其實體分辨率就提高了,視覺效果就是變清晰了,也就是顆粒度變小了。

   對于一個UIImage元素來說,如果不設定其frame,則其在螢幕中的大小會由圖檔的分辨率與該裝置的邏輯分辨率決定,比如有一張320*480分辨率的圖檔,分别顯示在未設定frame的UIImage的iphone3GS和iphone4/4S上,其邏輯分辨率大小則為320*480和160*240。    實際開發中UI給的圖檔都是根據實體分辨率來給的,如果以iphone6/6S作為設計模闆,那你拿到的高保真圖檔則應該是750 * 1334像素,在設定控件frame的時候,則應該将高保真的圖檔尺寸(根據圖檔的像素計算得出)/2。

轉載于:https://www.cnblogs.com/shengzaiwen/p/7200209.html