根據螢幕尺寸和解析度,ios現在數起來有6個版本。
一,3GS;二,4s為代表;三,iphone5;四,ipad2為代表;五,ipad4為代表;六,ipad mini。
只是解析度不一樣的情況,如一二或者四五相比,開發時提供兩種解析度就可以了,應用自動識別?
只是尺寸不一樣的情況,如四六相比,開發時完全沒有影響?
解析度以及尺寸都不一樣的情況,如二三相比,又如何?
iOS
裝置現有的解析度如下:
iPhone/iPod Touch
普通屏 320像素 x 480像素 iPhone 1、3G、3GS,iPod Touch 1、2、3
3:2 Retina 屏 640像素 x 960像素 iPhone 4、4S,iPod Touch 4
16:9 Retina 屏 640像素 x 1136像素 iPhone 5,iPod Touch 5
iPad
普通屏 768像素 x 1024像素 iPad 1, iPad2,iPad mini
Retina屏 1536像素 x 2048像素 New iPad,iPad 4
問一:只是解析度不一樣的情況,如一二或者四五相比,開發時提供兩種解析度就可以了,應用自動識別?
答:在
iPhone 5 跟 iPod Touch 5 沒出之前,對於開發人員來說,一二就是解析度不同的區別而已,因為他們都是3.5寸的螢幕。並且,你細心的話會注意到,一二他們的解析度是成倍的關係。
這給 iOS 的設計和開發都提供了方便,介面設計只需要設計一套,然後進行等比例放大縮小即可。
為了方便開發人員開發,iOS 中統一使用點(Point)對介面元素的大小進行描述。
所以對於一跟二,只需把螢幕大小都當成 320
x 480點 進行開發即可,點跟像素的換算關係如下:
普屏 1點 = 1像素
Retina屏 1點 = 2像素
iPad 上的開發也是這樣,只需根據 768
x 1136點 進行開發即可。
而在 iPhone 5 跟 iPod Touch 5 的機器上,對於開發人員來說,它的介面大小就是 320
x 568點,你只需根據這個大小去調整你的介面(如果需要調整的話)。
比如:我有一個按鈕,要放在螢幕中間的位置,那麼在介面大小為 320 x 480點 的裝置上,只需設定它的 center 為 (320/2, 480/2) 位置即可,在 3:2 Retina 屏上系統這個按鈕也可以正確的顯示在中間;
而在螢幕大小為 320 x 568點 的裝置上,你就設定它的 center 為 (320/2, 568/2)。
直接通過 [[UIScreen
mainScreen] bounds] 即可擷取到當前螢幕的基礎解析度,所以不用 hard code。
問二:只是尺寸不一樣的情況,如四六相比,開發時完全沒有影響?
答:開發時只需要關注解析度即可,iPad
2 跟 iPad mini 螢幕尺寸不同,但是解析度一致,所以完全沒有影響,在 iPad 2 上可正常跑的 app,在 iPad mini 上也可正常跑。
問三:解析度以及尺寸都不一樣的情況,如二三相比,又如何?
答:在
問一 中已經回答了