iPhone X引導(dǎo)頁變形問題

前言:

今天我司美工,呸!是設(shè)計!新買了一個iPhone X,下載了我們的app,引導(dǎo)頁怎么變形了?What?作為一個資深的iOS開發(fā),怎么能忍受這種瑕疵存在呢?簡直是奇恥大辱呀!所以開始了接下來探索之旅!

之前變形的加載方式

首先把@2x,@3x的圖片放到Assets.xcassets中,如下圖

然后再引導(dǎo)頁控制器中加載引導(dǎo)頁圖片

結(jié)果iPhone X,XS,XS max變形!卒!

修改后的加載方式:

1、每個不同屏幕都做新的引導(dǎo)頁,安裝包會很大(因為我們的引導(dǎo)頁好幾張呢),可能會有兩種解決辦法了。

?? 1、是背景色是不變的話,設(shè)計師可以只做中間的圖片,這樣會小一些;

? ?2、是只切割一套屏幕的引導(dǎo)頁(750*1334)即可,當然只切割兩套(4/4s、6/6s)也是可以的。

2、不同屏幕的屏大小比較:

?4/4s ? ? 3.5inch ? ?分辨率640*960 ? ? ?高寬比960/640 = 1.5

5/5s/5c/SE ? ? ? ? 4inch ? ? ? ? ? ?分辨率640*1136 ? ? ? ? ? ?高寬比1136/640 = 1.775

6/6s/7/8 ? ? ? ? ? ? ?4.7inch ? ? ? ? 分辨率750*1334 ? ? ? ? ? 高寬比1334/750 = 1.775 ?

6plus/6splus

5.5inch ? ? ? ? ?分辨率1242*2208 ? ? ? ? 高寬比2208/1242 = 1.778

/7plus/8plus ? ? ? ? ??

x ? ? ? ? ? ? ? ? ? ? ? ? ? 5.8inch ? ? ? ? 分辨率1125*2436 ? ? ? ? ?高寬比2436/1125 = ?2.165

可知 ?切割一套6/6s就可以了 ,小屏可做截取 ?大屏可做等比拉伸顯示。

3、UIImageView有個屬性是contentMode,可取值:UIViewContentModeScaleToFill ?拉伸圖片至填充整個UIImageView,圖片的顯示尺寸會和imageVew的尺寸一樣 。

UIViewContentModeScaleAspectFill 按照圖片原來的寬高比進行伸縮,伸縮至圖片的寬度和imageView的寬度相等 或者 圖片的高度和imageView的高度相等 ?(只有寬和高其中一個相等是不可以的,圖片的縮放尺寸可以超過imageView尺寸大小,伸縮必有scale ?等比伸縮必有aspect)如下圖所示即可以了。

說到這里,是不是應(yīng)該掏出小本本記起來了!

操作如下:

1、將750*1334的圖片放進工程里面。

2、修改加載引導(dǎo)頁圖片的方式

3、看效果!


這樣刪掉了3倍圖,節(jié)省了內(nèi)存,又完美解決引導(dǎo)頁變形問題。

PS:

imageWithContentsOfFile:和??imageNamed:圖片加載方式的比較,

imageNamed:當加載時會緩存圖片,所以下次加載的時候會比較快,但是會占內(nèi)存,適合頻繁加載的小圖片。

imageWithContentsOfFile:通過圖片文件的路徑加載圖片,不會緩存圖片,適合不經(jīng)常使用的大圖片加載。

?著作權(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)容