iOS方案:使用原生占位(仅App端支持)

uni官方论坛上有些方法很不错

manifest.json 文件 app-plus 节点下配下 safearea

"safearea": {  
    "background": "#CCCCCC",  
    "bottom": {  
        "offset": "auto"  
    }  
}
  1. 那么我们使用uni-app写兼容APP多端和小程序的时候 底部安全区域在公共样式里写如下样式 通常都能解决
  2. 但如果使用的是自己原生的tarbar的话就要合理使用这种方法 用一个盒子顶起来高等于 env(safe-area-inset-bottom) 或者tarbar底部加padding的方法
  3. 如果你使用的框架不支持env(safe-area-inset-bottom) 可以通过判断顶部距离来判断是不是刘海屏底部需不需要流出安全区 偷偷告诉你底部安全区通常为68rpx
  4. 获取距离顶部方法
wx.getSystemInfo({
			    success: res => {
			        let _this = this;
					 if(res.safeArea.top > 20) { //x及以上的异形屏top为44,非异形屏为20
						_this.globalData.isIphoneX = true;
					}
			    }
			})

兼容小程序


page{
      padding-bottom: constant(safe-area-inset-bottom);
      padding-bottom: env(safe-area-inset-bottom);
   }

铁子们有更好的方法欢迎留言给我,小白不易

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐