欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

小程序根据手机机型设置自定义底部导航距离

程序员文章站 2023-12-21 09:30:10
需求: iponex 以上机型,手机底部有弧度,自己写的导航栏会被遮住, 需要判断手机机型,做兼容设置. 解决: //app.js app({ /*...

需求:

iponex 以上机型,手机底部有弧度,自己写的导航栏会被遮住, 需要判断手机机型,做兼容设置.

解决:

//app.js
app({

 /**
  * 当小程序初始化完成时,会触发 onlaunch(全局只触发一次)
  */
 onlaunch: function() {
  var that = this;
  //获取手机型号
  wx.getsysteminfo({
   success(res) {
    const model = res.model;
    const modelinclude = ["iphone x", 'iphone xr', "iphone xs", "iphone xs max"];
    var flag = false;//是否x以上机型
    for (let i = 0; i < modelinclude.length;i ++){
     //模糊判断是否是modelinclude 中的机型,因为真机上测试显示的model机型信息比较长无法一一精确匹配
     if (model.indexof(modelinclude[i]) != -1){
      flag = true
     }
    }
    if (flag) {
     that.bottom_distance = 50;
    }
   }
  })
 },

 /**
  * 当小程序启动,或从后台进入前台显示,会触发 onshow
  */
 onshow: function(options) {

 },

 /**
  * 当小程序从前台进入后台,会触发 onhide
  */
 onhide: function() {

 },

 /**
  * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onerror 并带上错误信息
  */
 onerror: function(msg) {

 },

 bottom_distance:0,//iponex底部需要抬高的距离
})

页面js

const app = getapp();

page({

 /**
  * 页面的初始数据
  */
 data: {
  bottom: app.bottom_distance//将app实例中的bottom_distance转化为页面的data,即可在xml上使用
 },

 /**
  * 生命周期函数--监听页面加载
  */
 onload: function(options) {
 },
})

然后设置导航底部padding距离即可;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:

下一篇: