小程序根据手机机型设置自定义底部导航距离
程序员文章站
2023-12-18 16:53:04
需求:
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距离即可;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读