1. 程式人生 > >如何用一個IPad螢幕適配各尺寸的IPhone

如何用一個IPad螢幕適配各尺寸的IPhone

先宣告兩個巨集:SCREEN_WIDTH_NEW 和 SCREEN_HEIGHT_NEW

這兩個巨集要寫在工程的任何一個檔案都能訪問的位置

//原有裝置實際尺寸
#define SCREEN_WIDTH_NEW ([UIScreen mainScreen].bounds.size.width)
#define SCREEN_HEIGHT_NEW ([UIScreen mainScreen].bounds.size.height)

//模擬iphone4,4s
#define SCREEN_WIDTH_NEW 320.0
#define SCREEN_HEIGHT_NEW 480.0

//模擬iphone5,5s
#define SCREEN_WIDTH_NEW 320.0 #define SCREEN_HEIGHT_NEW 568.0 //模擬iphone6,6s #define SCREEN_WIDTH_NEW 375.0 #define SCREEN_HEIGHT_NEW 667.0 //模擬iphone6 plus,6s plus #define SCREEN_WIDTH_NEW 375.0 #define SCREEN_HEIGHT_NEW 667.0

把window的frame設定為

window.frame = CGRectMake(0,0,SCREEN_WIDTH_NEW,SCREEN_HEIGHT_NEW);

這樣的話,我猜每個UIViewController的view的大小和window是一樣的。

把工程裡的[[UIScreen mainScreen] bounds].size.height都替換成SCREEN_HEIGHT_NEW

把工程裡的[[UIScreen mainScreen] bounds].size.width都替換成SCREEN_WIDTH_NEW

把工程裡的[[UIScreen mainScreen] applicationFrame].size.height都替換成SCREEN_HEIGHT_NEW

把工程裡的[[UIScreen mainScreen] applicationFrame].size.width都替換成SCREEN_WIDTH_NEW

注意:[[UIScreen mainScreen] scale] 好像不用改

這樣應該就可以去適配了,後面我發現什麼在繼續補充