iPhoneXs iPhoneXs Max iPhoneXr 新機發(fā)布需要適配嗎?關(guān)于[[UIScreen mainScreen] bounds]和[[UIScreen mainScreen] ...

今天查看公司項目,發(fā)現(xiàn)在新機型上UI有問題,追根溯源是宏定義iPhoneX判斷問題。

特地查看自已以往開發(fā)關(guān)于iPhoneX的判斷,發(fā)現(xiàn)[[UIScreen mainScreen] bounds]和[[UIScreen mainScreen] currentMode]的區(qū)別。

所以打印查看,在此做一下記錄。

以下均已截圖展示,代碼最后貼出。

本人常用的幾處宏定義,如圖;(去年出新機做的宏定義,bounds獲取寬高)

寬高,幾種欄高度宏


打印驗證代碼

打印結(jié)果,一看便知:(currentModeSize和boundsSize在此沒有打印,有興趣的可以自行嘗試)

iPhone XR
iPhone XS
iPhone XSM
iPhone 8p


綜上,如果你用的是bounds方法,那恭喜你不用在做適配,

currentMode方法,那就,,,


兩者區(qū)別,本人沒有查找相關(guān)文件術(shù)語,僅從打印結(jié)果看,currentMode主要是分辨率,所以幾種機型不太一致。

(自行查看相關(guān)說明吧。。。。。)


轉(zhuǎn)載請注明出處。謝謝!





附代碼:

宏定義:

#define SCREEN_HEIGHT [[UIScreen mainScreen] bounds].size.height

#define SCREEN_WIDTH [[UIScreen mainScreen] bounds].size.width

#define IPHONE_X ([UIScreen instancesRespondToSelector:@selector(bounds)] ? CGSizeEqualToSize(CGSizeMake(375, 812), [[UIScreen mainScreen] bounds].size) : NO)

#define StatusbarHeight [[UIApplication sharedApplication] statusBarFrame].size.height

#define StatusNavigationbarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height + 44)

#define TabbarHeight (([UIScreen instancesRespondToSelector:@selector(bounds)] ? CGSizeEqualToSize(CGSizeMake(375, 812), [[UIScreen mainScreen] bounds].size) : NO)? 49+34 : 49)



打?。?/p>

if (IPHONE_X) {

? ? ? ? DLog(@"IPHONE_X");

? ? }else{

? ? ? ? DLog(@"其他");

? ? }

? ? DLog(@"狀態(tài)欄H:%f",StatusbarHeight);

? ? DLog(@"導(dǎo)航欄H:%f",StatusNavigationbarHeight);

? ? DLog(@"底部欄H:%d",TabbarHeight);

? ? DLog(@"W:%f,H:%f",SCREEN_WIDTH,SCREEN_HEIGHT);

? ? DLog(@"寬高比:%f",SCREEN_WIDTH/SCREEN_HEIGHT);


下面是為了比較currentMode和bounds卻別,

? ? CGSize currentModeSize = [[UIScreen mainScreen] currentMode].size;

? ? DLog(@"currentMode:W:%f,H:%f",currentModeSize.width,currentModeSize.height);


? ? CGSize boundsSize = [[UIScreen mainScreen] bounds].size;

? ? DLog(@"bounds:W:%f,H:%f",boundsSize.width,boundsSize.height);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容