iOS設備,顧名思義包括 iPhone 和 iPad 兩類蘋果設備。
隨著蘋果公司對于新設備的不斷開發(fā),從原先的小屏幕 iPhone4s/iPad mini 到現(xiàn)在的 全面屏(帶劉海哈) iPhone Xs Max,設備尺寸也在不斷增加,所以對于iOS開發(fā)程序員來說,也是需要不斷的進行相應的適配,當然適配就需要我們了解每款型號設備的尺寸像素以便可以做到正確的尺寸適配。
1. 蘋果各個設備尺寸
iPhone設備尺寸:
iPhone 4/4S --- 開發(fā)尺寸: 320×480pt -- 分辨率: 640×960px -- 操作系統(tǒng):iOS4/iOS5
iPhone 5/5S/5c --- 320×568pt -- 640×1136px -- iOS6/iOS7/iOS8
iPhone 6/6S/7 --- 375×667pt -- 750×1334px -- iOS8/iOS9/iOS10
iPhone 6Plus/6S Plus/7 Plus --- 414×736pt -- 1080×1920px -- iOS8/iOS9/iOS10
iPhone SE --- 320×568pt -- -- iOS9
iPhone X && iPhone XS --- 375×812pt (20+34pt--頂部多20,底部多34) -- &1125x2436px& -- 切圖: @3x && @3x
iPhone XR && iPhone XS Max --- 414x896pt -- 828x1792px && 1242x2688px -- 切圖:@2x && @3x
針對iOS切圖,以 iPhone7即750x1334px像素值為基準制作設計圖,然后程序根據(jù)所給設計圖進行相應的適配。當然對于新產(chǎn)生的 iPhoneX/iPhoneXS/iPhoneXR/iPhoneXSMax這幾種全面屏機型(存在劉海屏),可能需要針對做出不同的界面設計。
iPad設備尺寸及主要開發(fā)尺寸
iPad Pro --- 12.9 inch -- 分辨率: 2732*2048px
iPad Pro --- 10.5 inch -- 2224*1668
iPad --- 9.7 inch -- 2048*1536
iPad mini --- 7.9 inch -- 2048*1536
但是對于以上iPad型號只使用一種iPad開發(fā)尺寸即可(對于正常iPad)
**** 768*1024 pt ****
區(qū)別對待:
iPad pro(12.9 inch)/iPad pro(12.9- 第二代)/iPad pro(10.5 inch)/iPad pro(9.7 inch)...
iPad 設備運行iPhone應用 -- 當項目沒有設置可以在iPad上運行時,若運行在iPad上顯示iPhone尺寸:
除了iPad Pro 12.9 inch是對應輸出iPhone 5s尺寸大小(即 320-568 pt)
其他iPad尺寸全部加載iPhone應用都是iPhone 4s尺寸(即 320-480 pt)
如下圖詳細介紹了區(qū)分了 iPhone / iPad 各個機型和尺寸:

iPhone設備尺寸.png

iPad設備尺寸.png

各個分別率介紹.png
>> 如果需要自動適應各種iPhone設備的屏幕,則需要先獲取屏幕大小,在根據(jù)屏幕大小來調整應用界面。如下代碼獲取屏幕大小:
CGRect screenRect=[UIScreen mainScreen].bounds;
若需要進行輸出:
1,則可以把CGRect類型轉化為字符串類型進行輸出,調用語句:NSString* screenRectStr = NSStringFromCGRect(screenRect);
2,或者直接使用NSLog語句進行一個個調用輸出:screenRect.origin.x, screenRect.origin.y,screenRect.size.width, screenRect.size.height
>> 判斷 iPhone 和 iPad 設備中一些 宏定義使用
#define kScreenWidth [UIScreen mainScreen].bounds.size.width
#define kScreenHeight [UIScreen mainScreen].bounds.size.height
#define kSetScreenBounds CGRectMake(0, 0, kScreenWidth, kScreenHeight)
#define kIsPhone [[UIDevice currentDevice]userInterfaceIdiom] == UIUserInterfaceIdiomPhone
#define kIsPad [[UIDevice currentDevice]userInterfaceIdiom] == UIUserInterfaceIdiomPad
判斷設備系統(tǒng)宏定義:
#define iOS8 [[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0
#define kiOSVersionStartAvailable(x) @available(iOS x,*) // iOS x,以上及其版本使用
iPhone設備判斷宏定義:
#define kIsiPhone5s (kScreenWidth == 320.f && kScreenHeight == 568.f)
#define kIsiPhone7And8 (kScreenWidth == 375.f && kScreenHeight == 667.f) // <==>8
#define kIsiPhone7PAnd8P (kScreenWidth == 414.f && kScreenHeight == 736.f) // <==>8P
#define kIsiPhoneXSMaxAndXR (kScreenWidth ==414.f && kScreenHeight ==896.f)
#define kIsiPhoneXAndXS (kScreenWidth == 375.f && kScreenHeight == 812.f)
設備適配比例計算宏定義
#define kScreenWidthScale [UIScreen mainScreen].bounds.size.width/375.0 //7屏幕適配寬度比例系數(shù)
#define kScreenHeightScale [UIScreen mainScreen].bounds.size.height/667.0 //7屏幕適配高度比例系數(shù)
2.iOS AppIcon
iOS制作的軟件的App圖標是用來顯示,當然是要顯示在iPhone/iPad中的很多地方的。
如iPhone屏幕界面的啟動icon、設置里 Bundle的 icon、通知里的icon,當然這些icon的大小不一樣的。
如何添加? 添加步驟如下:
- 1、首先選中需要更換或添加AppIcon的項目 在
TARGETS-->General-->App Icons and Launch Images-->App Icon Source選擇一個asset catalogs - 2、
asset catalogs是在Images.xcassets中創(chuàng)建的或已經(jīng)存在的需要添加的應用圖標 icon
可詳見圖片

AppIcon添加.png
Apple官方文檔對App Icon添加
iOS app圖標自動生成----圖標工場 http://icon.wuruihong.com/ 網(wǎng)站導入 1024x1024px 自動生成iOS所需的所有對應格式的圖標,只需各個尺寸一一拖入即可使用
3. iOS App LaunchImage 添加使用
iOS App LaunchImage應用的啟動圖片的設置類似于 iOS AppIcon 設置,操作步驟如下:
- 首先選中需要更換或添加AppIcon的項目 在
TARGETS-->General-->App Icons and Launch Images-->Launch Images Sourc選擇一個asset catalogs -
asset catalogs是在Images.xcassets中創(chuàng)建的或已經(jīng)存在的需要添加App Launch Images

iOS_LaunchImagesSize.png