小程序对IPhone全面屏手机底部黑线的安全区域处理
16lz
2021-02-26
今天在编写小程序页面时发现,在iphoneX真机预览时,底部button会被手机底部黑线盖住一部分,
对于我这种强迫症来说,简直不能忍。
首先说下手机的安全区域
安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners)、齐刘海(sensor housing)、小黑条(Home Indicator)的影响。
我用的手机是iphone X ,显示效果如上,为了美观和易用性,我们对手机显示进行适配
第一种方案 CSS3中的constant、env函数
page { padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);}
两句代码就能解决ios底部安全距离问题
第二种方案 动态获取手机型号,给view加margin-bottom
1.app.js中定义全部变量
globalData: { Modelmes: null },
2.onLaunch获取手机型号等信息
onLaunch(options) { wx.getSystemInfo({ success: (res) => { //将机型存入到本地缓存 以免后期其他业务逻辑需要使用 wx.setStorageSync('Modelmes', res.model) if (res.model === 'iPhone X' || 'iPhone XR' || 'iPhone XS Max' || 'iPhone 11' || 'iPhone 11 Pro' || 'iPhone 11 Pro Max'){ this.globalData.Modelmes = true; }else{ this.globalData.Modelmes = false; } } })
3.需要适配的页面调用
var app = getApp();let { Modelmes } = app.globalData;this.setData({ Modelmes });最外层增加margin-bottom<view style="margin-bottom:{{Modelmes?'68rpx':'0'}}">
最终显示效果
©著作权归作者所有:来自51CTO博客作者mb5fd86dae5fbf6的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 我胡汉三又回来了,继续每天写总结
- 新版Nginx1.17体系化深度精讲 给开发和运维的刚需课程
- Google Fuchsia OS 可能的第一款手机曝光!华为在 Honor Play 上启
- CentOS 7下使用FirewallD构建动态防火墙
- android从手机中获取通讯录时按名称排序
- Android初级教程获取手机位置信息GPS与动态获取最佳方式
- Android(安卓)点击EditText以外区域,隐藏键盘
- Android(安卓)手机Root 原理解析
- Android开发 华为手机读取相册闪退问题