如何用一個IPad螢幕適配各尺寸的IPhone
阿新 • • 發佈:2019-01-24
先宣告兩個巨集: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] 好像不用改
這樣應該就可以去適配了,後面我發現什麼在繼續補充