研究了5個小時的iPhoneX適配。 從catalog,storyboard,safearea等一系列文章中發現。
如果我們想完全撐滿全屏。那直接建一個storyboard就好了。
但撐滿全屏后,流海就是一個惡心的問題。
思索半天后,我們發現,其實我們想要的。並不是撐滿。 而是要去除留海部分。
那有沒有一種辦法,干脆就讓我們的iPhoneX達到和iPhone6一樣的顯示效果呢。 或許這才是我們想要的。 下面的代碼,放入每一個場景的onLoad中,靠熱更新,就能支持iPhoneX了,效果不要不要的。(思路就是,iPhoneX下面,用ShowAll)
if(cc.sys.isNative && cc.sys.platform == cc.sys.IPHONE){
var size = cc.view.getFrameSize();
var isIphoneX = (size.width == 2436 && size.height == 1125)
||(size.width == 1125 && size.height == 2436);
if(isIphoneX){
var cvs = this.node.getComponent(cc.Canvas);
cvs.fitHeight = true;
cvs.fitWidth = true;
}
}
總結一下步驟
1、新建一個Laucn Screen.storyboard
2、刪除所有View下面的內容,SafeArea也要去掉
3、General里面,使用這個Launch Screen作為加載屏
這里想要達到最好的效果,還有設計分辨率有關。
比較推薦的是 1280 x 640. 在其他設備上,默認使用 定寬策略。 也就是說,高度上做自適應。 背景圖做成 1280 x 960 就可以適配到iPad了。 (如果之前用的是1280 x 720的設計分辨率,也不打緊。勉強可以用)。
1280 x 640的設計分辨率,見下圖。