JavaScript

超轻量级php框架startmvc

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

更新时间:2020-08-30 17:12 作者:startmvc
需求:iponeX以上机型,手机底部有弧度,自己写的导航栏会被遮住,需要判断手机机型,做兼容设

需求:

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距离即可;

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