微信小程序适配iphoneX,XR,12及以上,获取底部安全区域

本文介绍了如何在iOS设备,特别是iPhoneX及以上型号的异形屏幕上处理底部小黑条区域,通过全局变量存储底部安全区域高度,并在页面布局中应用此高度。开发者需在App.js中获取设备信息并设置全局变量,然后在页面组件中引用这个变量来调整布局样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iphone x及以上的异形屏top高度为44px(或以上),非异形屏为20px。

先判断是否为异形屏,如果是,获取到底部小黑条区域的高度。在页面设置底边距padding-bottom/margin-bottom,把内容区域隔开。

小黑条区域高度=屏幕高度-安全区域的bottom值,安全区域指的是内容可见区域

注意小黑条区域的高度单位是px

1. 在全局app.js里,全局存储一个数据

App({
  globalData: {
    bottomLift: 0 //苹果X及以上的底部小黑条高度
  },

  onLaunch: function () {
    //获取当前设备信息
    wx.getSystemInfo({
      success: res => {
        // 苹果X及以上的底部安全区域
        if (res.safeArea.top > 20) {
          this.globalData.bottomLift = res.screenHeight - res.safeArea.bottom;
        }
      },
      fail:err => {
        console.log(err);
      }
    })
  },
  onShow: function () {
  },
});

2.在所需页面的js文件获取全局变量

const app = getApp()

Page({
  data: {
    bottomLift: app.globalData.bottomLift, //苹果X及以上机型的底部安全区域高度
  },
})

3.在所需页面的wxml里面使用

<view class="page" style="padding-bottom:{{bottomHeight}}px"></view>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值