根據裝置螢幕尺寸判斷型號及其侷限

2021-07-06 10:54:50 字數 1496 閱讀 8356

//根據螢幕尺寸判斷手機型號,但是不能區分真機和模擬器,當然iphone6,6p放大模式可能也會判斷出錯的

#define screen_height [[uiscreen mainscreen] bounds].size.height

#define screen_width [[uiscreen mainscreen] bounds].size.width

#define screen_scale [[uiscreen mainscreen] scale]

#define iphone6plus_standardmode ([uiscreen instancesrespondtoselector:@selector(currentmode)] ? cgsizeequaltosize(cgsizemake(1242,2208), [[uiscreen mainscreen] currentmode].size) : no)

#define iphone6_standardmode ([uiscreen instancesrespondtoselector:@selector(currentmode)] ? cgsizeequaltosize(cgsizemake(750,1334), [[uiscreen mainscreen] currentmode].size) : no)

//#define iphone5s (cgsizeequaltosize(cgsizemake(screen_width*screen_scale, screen_height*screen_scale), cgsizemake(1242,2208)) ? yes : no)

#define iphone5s ([uiscreen instancesrespondtoselector:@selector(currentmode)] ? cgsizeequaltosize(cgsizemake(640,1136), [[uiscreen mainscreen] currentmode].size) : no)

#define iphone4s ([uiscreen instancesrespondtoselector:@selector(currentmode)] ? cgsizeequaltosize(cgsizemake(640,960), [[uiscreen mainscreen] currentmode].size) : no)

nslog(@"%f,%f",[ uiscreen mainscreen ].bounds.size.width,[ uiscreen mainscreen ].bounds.size.height);

//這個值乘以[[uiscreen mainscreen] scale]就是實際螢幕畫素解析度

nslog(@"%f,%f",[ uiscreen mainscreen ].bounds.size.width*[[uiscreen mainscreen] scale],[ uiscreen mainscreen ].bounds.size.height*[[uiscreen mainscreen] scale]);

iOS 裝置型號判斷

1.匯入標頭檔案 import2.在 要獲取的方法中新增 struct utsname systeminfo uname systeminfo nsstring model nsstring stringwithcstring systeminfo.machine encoding nsasciis...

iOS裝置螢幕尺寸和適配

裝置 資源解析度 畫素 ui 設計解析度 點 程式開發 螢幕解析度 畫素 說明 iphone6p 6sp 2208 1242 736 414 1920 1080 3x,資源縮小1.15倍 401ppi iphone6 6s1334 750 667 375 1334 750 2x,326ppi iph...

iOS字型根據不同螢幕尺寸適配

因為檢視使用storyboard 和 xib拖拽進來了,如果需要對不同大小的螢幕進行font 字型適配的話可以使用分類。在load 方法中 利用oc的執行時機制,對所有的 uibutton uilabel 做處理。關鍵 uibutton 按鈕的處理方式 void load id myinitwith...