微信小程序 -- ios 底部小黑条样式问题

问题:

如图,ios有的机型底部伪home键会显示在按钮之上,导致点击按钮的时候误触

解决:

  1. App.vue
javascript 复制代码
<script>
	export default {
				wx.getSystemInfo({
					success: res => {
						let bottomHeight = res.screenHeight - res.safeArea.bottom;
						uni.setStorageSync('bottomHeight', bottomHeight)
						console.log('小黑条高度', bottomHeight);
					},
					fail(err) {
						console.log(err);
					}
				})
		},
	}
</script>

<style>
	/*每个页面公共css */
	@import url("static/css/base.css");
</style>
  1. 有样式问题需要修改的页面

我这里写的是:如果不是有小黑条的机型(也就是bottomHeight===0的机型),那么我的paddingBottom设为10px;如果有的话,那么paddingBottom就设为小黑条的高度bottomHeight

javascript 复制代码
<template>
	<view @click="submit" :style="{paddingBottom:(bottomHeight===0?'10px':bottomHeight+'px')}">
		<view>
			提交
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				bottomHeight:0, // 底部小黑条高度
			}
		},
		onLoad() {
			this.bottomHeight = uni.getStorageSync('bottomHeight')||0;
			console.log('底部小黑条高度',this.bottomHeight)
		},
		
	}
</script>

<style scoped lang="scss">
</style>

效果图

参考

vue动态添加style样式

【对象】

html :style="{ color: activeColor, fontSize: fontSize + 'px' }"

html :style="{color:(index==0?conFontColor:'#000')}"

【数组】

html :style="[baseStyles, overridingStyles]"
html :style="[{color:(index==0?conFontColor:'#000')},{fontSize:'20px'}]"

【三目运算符】

html :style="{color:(index==0?conFontColor:'#000')}"
html :style="[{color:(index==0?conFontColor:'#000')},{fontSize:'20px'}]"

【多重值】

此时,浏览器会根据运行支持情况进行选择

html :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }"

【绑定data对象】

  • html :style="styleObject"
javascript 复制代码
data() {
    return{
      styleObject: {
        color: 'red',
        fontSize: '13px'
      }  
    }
}

原文:https://juejin.cn/post/6844903921509466120

小黑条适配

在移动端开发过程中,经常遇到iphone11、iphoneX底部小黑条遮挡页面底部,纯css实现设备的适配。详见我的上篇文章。

在开发微信小程序中,也会遇到iPhone全面屏手机,底部小黑条会遮挡页面底部,尽管微信小程序已经实现部分页面的适配,但个别页面仍旧需要做适配处理。

解决方案:使用wx.getSystemInfoSync()中的screenHeightsafeArea对象的bottom属性判断

  • screenHeight是获取屏幕的高度,因为bottom是以屏幕左上角为原点开始计算的,所以需要的是屏幕高度。

  • safeArea对象的bottom属性是安全区域右下角纵坐标。

  • screenHeight减去safeArea对象的bottom属性,则是底部小黑条的高度。

获取底部小黑条的高度,全局存储使用。

在全局app.js里,需要全局存储一个数据

javascript 复制代码
globalData: {
    bottomHeight:0
}

2.在全局app.js的onLaunch函数:

javascript 复制代码
wx.getSystemInfo({
  success: res => {
    this.globalData.bottomHeight = res.screenHeight - res.safeArea.bottom;
  },
  fail(err) {
    console.log(err);
  }
})

3.在所需页面的js文件从全局变量中获取

javascript 复制代码
onLoad: function (options) {
 
  this.setData({
    bottomHeight : app.globalData.bottomHeight 
  })
 
}

4.在所需页面的wxml里面使用:

javascript 复制代码
<view class="page" style="padding-bottom:{{bottomHeight }}px">

原文链接:https://blog.csdn.net/u014213847/article/details/129159964

未整理参考

相关推荐
万岳科技系统开发3 小时前
外卖系统开发实战:从架构设计到代码实现
android·小程序·开源
尘浮生7 小时前
Java项目实战II基于SpringBoot前后端分离的网吧管理系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·微信小程序·小程序
键盘敲没电10 小时前
【iOS】知乎日报总结
学习·ios·objective-c·xcode
Mr.Liu610 小时前
小程序-使用 iconfont 图标库报错:Failed to load font
前端·微信小程序·小程序
计算机徐师兄10 小时前
Java基于SSM框架的校园综合服务小程序【附源码、文档】
java·微信小程序·小程序·校园综合服务小程序·java校园综合服务小程序·校园综合服务微信小程序
Mr.Liu610 小时前
小程序25- iconfont 字体图标的使用
前端·微信小程序·小程序
安和昂14 小时前
【iOS】UICollectionView的学习
学习·ios·cocoa
说私域15 小时前
开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序源码助力品牌共建:价值、策略与实践
人工智能·小程序·开源
二流小码农17 小时前
鸿蒙开发:自定义一个任意位置弹出的Dialog
android·ios·harmonyos
尘浮生17 小时前
Java项目实战II基于SpringBoot的客户关系管理系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·微信小程序·小程序