當前位置:
首頁 > 最新 > 四月起所有提交的iOS應用必須適配iPhone X——適配教程

四月起所有提交的iOS應用必須適配iPhone X——適配教程

2018年春節剛過,蘋果便向開發者發布公告,公告規定2018年4月開始,所有遞交至App Store的新應用,包括通用應用必須使用iOS 11 SDK編譯。這意味著,開發者必須使用Xcode 9或更新的版本,且開發者必須保證自己的iOS應用可以完美適配iPhone X的5.8英OLED顯示屏。


由於iPhone X的特殊造型,蘋果在iOS 11中引入了Safe Area的概念,蘋果在iOS 11中引入了Safe Area的概念,引擎也在api對象下添加了safeArea屬性和safeareachanged事件,UI設計準則是頁面重要的元素需要在安全區域以內,避免被遮擋。

對於大多數應用,通過以下幾步基本就可以完成iPhone X的適配,其它的特殊情況如橫豎屏切換等則需要結合使用場景另外處理。

註:如果沒有iPhone X真機,有需求的開發者可以瀏覽APICloud官網,在文檔-下載頻道,下載iOS的模塊開發工程,使用Xcode9及更高版本將項目運行在iPhone X模擬器上面調試。

1、上傳iPhone X 啟動圖

進入控制台端設置,上傳iPhone X啟動圖,圖片尺寸為1125*2436,運行效果如下圖。若未上傳對應的iPhone X啟動圖或者啟動圖格式不正確,應用運行在iPhone X上面時上下將有大黑邊,不能全屏運行。

2、解決頂部header被遮擋

由於iPhone X頂部的特殊形狀,狀態欄高度不再是以前的20px,而是變成了44px,如果應用開啟了沉浸式效果,那麼頁面頂部會被遮住部分,如圖:

找到api.js中的fixIos7Bar、fixStatusBar方法,用以下代碼替換即可。

修改過後的頂部效果如圖:

3、解決底部標籤欄被虛擬home鍵遮擋

由上面的圖可以看到,頁面底部的標籤欄也被虛擬home鍵遮擋住了部分。對於虛擬home鍵,可以通過openWin和setWinAttr方法的hideHomeIndicator參數來控制顯示隱藏,這對於沉浸式體驗較高的場景很有用(比如觀看視頻)。而一般的頁面通常的做法是避開虛擬home鍵,這裡參考header的處理,我們在api.js中添加一個fixTabBar方法:

然後在需要的地方進行調用:$api.fixTabBar($api.byId("footer")),修改後的效果如圖:

▌本文轉載自APICloud官方開發者社區


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 iPhone 的精彩文章:

從iPhone換回安卓機,是種什麼感受
iPhone電池爆炸後撤離的蘋果商店

TAG:iPhone |