ionic3 IPX留海适配

ionic3 IPX留海适配

ionic3 IPX留海适配

 

解决:使用 safe-area-inset-top 等 ios 安全区域变量 + meta 标签中设置 viewport-fit=cover 

https://github.com/pengkobe/reading-notes/issues/436

https://stackoverflow.com/questions/46232812/cordova-app-not-displaying-correctly-on-iphone-x-simulator/46232813 (good)

https://imweb.io/topic/5baa38c279ddc80f36592efb (good)

 

步骤一:更新 cordova-plugin-statusbar 插件(非必须)

步骤二:更新 cordova-plugin-splashscreen(非必须)

步骤三:meta 添加 viewport-fit=cover 如:

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, viewport-fit=cover">

步骤四:利用苹果提供的 CSS 常量如:

padding-top: env(safe-area-inset-top);

 

我的做法(自测有效):

增加了 viewport-fit=cover 属性后在适当的位置 (ion-header、ion-footer) 增加类:

.header-common 
  padding-top: env(safe-area-inset-top);
}

.footer-common{
  padding-bottom: env(safe-area-inset-bottom);
}