日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简单方法适配IphoneXS Iphone XR IphoneXS MAX

發布時間:2024/3/13 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单方法适配IphoneXS Iphone XR IphoneXS MAX 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這次蘋果一口氣出了三款新設備,又要迎來了一波適配,首先來看下設備的相關參數:

型號屏幕尺寸inch)屏幕對角線(屏幕以外的邊寬度不算)1 inch = 2.54cm = 25.4mm?邏輯分辨率(point)(pt)ios開發單位,即point,絕對長度,1pt=1/72英寸。

邏輯分辨率? 寬高比

親測用模擬器測的UIScreen的scale與nativeScale與縮放因子相等縮放因子(scale factorpoint = x*x pixeldpr(設備像素比,1px = (dpr)^2 * 1dp;設備像素比與ppi相關,一般是ppi/160的整數倍)?物理分辨率(像素)(pixel)(px)渲染分辨率像素密度沿著對角線,每英寸所擁有的像素數目(PPI
iPhone3GS3.5?320 * 4801.50?@1x1point = 1pixel1.0?320 * 480?163
iPhone4/4s3.5?320 * 4801.50?@2x1point = 2*2pixel2.02倍屏/Retina屏640 * 960?326
iPhone5/5s4?320 * 5681.78?@2x1point = 2*2pixel2.0?640 * 1136?326
iPhone6/6s4.7?375 * 6671.78?@2x1point = 2*2pixel2.0?750 * 1334?326
iPhone6Plus/6s Plus5.5?414 * 7361.78?@3x1point = 3*3pixel2.53倍屏/RetinaHD屏1242 * 2208?401
Iphone X5.8四者是圓角所以對角線比左側值稍小些375 * 8122.17@3x6.501point = 6.5*6.5pixel2.9?2436 * 1125?458
iphone XS5.8?375 * 8122.17@3x6.501point = 6.5*6.5pixel2.9?2436 * 1125?458
iphone XR6.1?414 * 8962.16@2x4.331point = 4.33*4.33pixel2.0?1792 * 828?326
iphone XS MAX6.5?414 * 8962.16@3x6.491point = 6.49*6.49pixel2.9?2688 * 1242?458
????????????決定屏幕清晰度的值-像素密度
?????????????

先分析下數據:如果做適配,我們主要關注IphoneX以后出的設備的邏輯分辨率可以看出,X與XS的邏輯分辨率一致,而XR與MAX是邏輯分辨率一致;我們再來看,X與XS的高寬比812 / 375 = 2.17,以及XR及MAX的高寬比896 / 414 = 2.18。而我們的工程之前肯定都適配過X了,所以,適配XR與MAX就so easy了,而且這四種設備都是只支持面容ID而不支持TOUchID的,只要把IphoneX的宏定義對IphoneX的判斷或上XR與MAX就行了。以前我們工程里的宏定義如下:

#define IS_IPHONEX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)

只要改成:

#define IS_IPHONEX? ? ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? ((CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size))||(SCREEN_WIDTH == 414 && SCREEN_HEIGHT == 896)) : NO)

即可。

如果你的項目剛創建不就很easy的情況,強烈建議對整個工程的baseVC做處理,即:在baseVC的View上添加一個UIScrollView,在此SCRollVIew上再添加一個view做所有子控制器的父view,這樣,即使以后出現其他寬高比的設備,就不用單獨做適配了。

還是如果你的項目剛創建不就很easy的情況,建議對cgrectMake結構體做文章,讓你的控件的寬和高按你基準設計圖和屏幕的寬高比去變化,這也算是一勞永逸的操作。

總結

以上是生活随笔為你收集整理的简单方法适配IphoneXS Iphone XR IphoneXS MAX的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。