微信小程序自定义tarbra的坑,动态适配iphoneX iphone11 带安全区域的手机
发布于 4 年前 作者 xiuyingqian 4119 次浏览 来自 分享

微信小程序虽然开放了自定义的tabbar 因为他用的是fixed定位布局 导致每个tabbar页都要去动态计算padding-bottom 或者bottom值,之前尝试过

wx.getSystemInfo({

success: function(res) {

console.log(res)

if (res.model.search('iPhone X') != -1) {

that.globalData.isIphoneX = true

}

},

})

在app.js中判断是不是iphone X ok这个时候是完美适配的 但是有一天测试同学拿着iphone 11 pro max找我 说页面的padding-bottom值会盖住,在我的排查中发现res.model.search('iPhone X') != -1 这句代码拿到的结果为-1 我之前是这么处理的 我判断机型为iphonex的时候 tabbar 页面的padding-bottom为100rpx+64rpx 但是iphone 11pro 系列手机在这个判断中无效 经过排查并反复改 终于拿到了完美适配的方案!!!!我们只需要在外层的view padding-bottom: calc(100rpx + env(safe-area-inset-bottom))就好了 有需要的同学点个关注吧!!! 对了 再次说明下 custom-tab-bar.wxss 中.tar-bar里的height我自己改成了100rpx 微信官方的是50px

4 回复

没用过学习了

safe-area-inset-bottom

这个收下

迷茫了一下午 看到这篇文章 正好解答了我遇到的tarbar兼容bug 厉害!

这个属性:

safe-area-inset-bottom

微信、支付宝、百度、QQ支持、头条不支持。

回到顶部