小程序对IPhone全面屏手机底部黑线的安全区域处理

本文主要介绍了在开发小程序时遇到iPhone X及其类似全面屏手机底部黑线导致内容被遮挡的问题,提出了两种解决方案:一是利用CSS3的constant和env函数来调整底部安全距离;二是通过动态获取手机型号,根据型号添加特定的margin-bottom来实现适配。这两种方法都能有效解决底部按钮被遮挡的问题,确保内容在安全区域内显示。
摘要由CSDN通过智能技术生成

今天在编写小程序页面时发现,在iphoneX真机预览时,底部button会被手机底部黑线盖住一部分,

839a60884f5e576f88b3a48e7aef9d9c.png

对于我这种强迫症来说,简直不能忍。

首先说下手机的安全区域

安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners)、齐刘海(sensor housing)、小黑条(Home Indicator)的影响。 

我用的手机是iphone X ,显示效果如上,为了美观和易用性,我们对手机显示进行适配

第一种方案 CSS3中的constant、env函数

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

两句代码就能解决ios底部安全距离问题

第二种方案 动态获取手机型号,给view加margin-bottom

1.app.js中定义全部变量

globalData: { 
    Modelmes: null
 },

2.onLaunch获取手机型号等信息

onLaunch(options) {
  wx.getSystemInfo({
    success: (res) => {
      //将机型存入到本地缓存 以免后期其他业务逻辑需要使用
      wx.setStorageSync('Modelmes', res.model)
      if (res.model === 'iPhone X' || 'iPhone XR' || 'iPhone XS Max' || 'iPhone 11' || 'iPhone 11 Pro' || 'iPhone 11 Pro Max'){
        this.globalData.Modelmes = true;
      }else{
        this.globalData.Modelmes = false;
      }
    }
  })

3.需要适配的页面调用

var app = getApp();
let { Modelmes } = app.globalData;
this.setData({ Modelmes });

最外层增加margin-bottom

<view  style="margin-bottom:{{Modelmes?'68rpx':'0'}}">

最终显示效果

0041c083cafc8867c152f8bbb3e03a2c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值