四月起所有提交的iOS應用必須適配iPhone X——適配教程
2018年春節剛過,蘋果便向開發者發布公告,公告規定2018年4月開始,所有遞交至App Store的新應用,包括通用應用必須使用iOS 11 SDK編譯。這意味著,開發者必須使用Xcode 9或更新的版本,且開發者必須保證自己的iOS應用可以完美適配iPhone X的5.8英OLED顯示屏。
APICloud平台適配iPhone X教程
由於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電池爆炸後撤離的蘋果商店
TAG:iPhone |