uni 小程序遮罩覆盖tabbar (伪)

uni 小程序遮罩覆盖tabbar (伪),第1张

一般来说tabbar为小程序的最高级,view覆盖不了的。

网上大多数指的都是uni中app-plus,h5/app而非小程序。

但是可以变相的通过设置标题颜色和tabbar颜色实现,自定义因不考虑单个影响全部故弃用。

以u-view中u-modal示范。

ps:

borderStyle只能为white或black;

frontColor只能为#000或#fff,写错任何一项不会生效。

本质为替换了高亮时的cion和背景色伪实现

不足是tabbar边框只有white/black,切需要设计配合给出遮罩下图。

参考资料 >

这次的项目需求是用户存在两种身份,普通用户和师傅用户,那么要根据不同的身份展示不同的tabBar菜单,看了下官方文档,难度不大,但是由于我用的框架是Taro,所以实现起来很难,试了几次Api调不通就放弃了,转为JS大法写了,但是配置方面还是得按照小程序文档来。

做成效果

此文是Taro版,非原生,思路可供参考,毕竟JS是互通的。

此文件编写的组件会作为自定义的tabBar展示出来

在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。即wx:for指令用于循环数组数据,生成组件。

循环出来的每一项通过item返回,每一项对应的索引,通过index返回。

wx:key="",设置每一项唯一的标识。循环列表时,添加wx:key的好处是,将来列表发生变化时重新渲染列表的损耗为更低。

使用 wx:for-item 可以指定数组当前元素的变量名,使用 wx:for-index 可以指定数组当前下标的变量名:

条件渲染可以使用 wx:if 或 hidden 。

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好;如果在运行时条件不大可能改变,则 wx:if 较好。

wx:if用于条件渲染:条件为真生成里面的内容,条件为假不会生成里面的内容。(每次重新生成内容)

也可以用 wx:elif 和 wx:else 来添加一个 else 块。

hidden用于条件渲染:条件为真隐藏里面的内容,条件为假显示里面的内容。(每次切换样式)

在appjson文件中添加tabBar节点。tabBar是小程序客户端底部或顶部tab栏的实现。

color: tab上的文字默认颜色,仅支持十六进制颜色。

selectedColor: tab上的文字选中时的颜色,仅支持十六进制颜色。

backgroundColor: tab的背景色,仅支持十六进制颜色。

borderStyle: tabbar上边框的颜色, 仅支持 black / white。

position: tabBar的位置,默认值是: bottom,仅支持 bottom / top。当 position 为 top 时,不显示 icon。

custom: 自定义tabBar。

list是一个数组,它定义了tab的列表。只能配置最少2个、最多5个tab。

pagePath: 页面路径,必须在 pages 中先定义。

text: tab 上按钮文字。

iconPath: 路径,icon 大小限制为 40kb,建议尺寸为 81px 81px,不支持网络。

selectedIconPath: 选中时的路径,icon 大小限制为 40kb,建议尺寸为 81px 81px,不支持网络。

跳转到普通页,可以直接通过返回按钮返回。

navigateTo()方法,用于跳转普通页面。可以直接通过返回按钮返回。

页面js文件中添加方法:

redirectTo()方法,关闭当前页面再跳转到指定页,不能通过返回按钮返回页面。该方法不能用于跳转tabBar页面。

页面js文件中添加方法:

跳转到tabBar页面,通过tabBar按钮返回。

如果要使用navigator组件跳转tabBar页面,需要设置open-type="switchTab"。

switchTab()方法,用于跳转tabBar页面。

页面js文件中添加方法:

制作的icon要在5050px以内(红色), 小程序导航icon周围系统自留了空间(蓝色),此处的小房子icon是3439px

微信小程序,简称小程序,英文名MiniProgram,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。

扩展资料

安全管理

2018年12月27日,腾讯公司发布《腾讯隐私保护白皮书》,倡导“科技向善,数据有度”的隐私保护理念。在小程序的《服务条款》、《运营规范》中,分别设有“用户个人信息保护”和“用户隐私及数据规范”专章介绍。

微信小程序在产品功能设计上给用户更多控制力。在小程序的设置页,为用户提供了数据权限开关,一旦用户授权之后又关闭,小程序再次使用该用户数据时需要重新获得授权,为用户提供更方便的数据控制权。用户在小程序的资料页还可以看到隐私数据保护的提示以及投诉入口。

小程序在收集、获取用户数据上,小程序坚持“必要+合理”原则。必要是指只有在小程序的具体业务中,确实有场景需要获取用户数据的情况下,开发者才能去获取用户的同意授权;合理是指开发者获取数据的范围不应该超出具体场景所需要的数据范围。

例如一个提供外卖服务的小程序,可能需要获得电话、地址等数据,但没有必要获取性别、年龄等数据,否则平台会认为小程序收集用户数据的行为违反了“必要并且合理”的原则,会对这类小程序进行处理。

参考资料来源:百度百科-微信小程序

关于自定义tabbar在跳转的时候,tabbar因为是跟页面的一起绑定,所以会跟随页面一起出现,不是像官方的tabbar一样一直待在页面上。这就是闪动的根本所在。

针对闪动看了一个demo,是让tabbar定义为一个页面,然后让你要显示的页面一组件的形式,插入到tabbar的页面,这样tabbar一直在一个页面上所以就不存在,tabbar跟随页面滚动也就是闪动问题。

2019-2-14,又纠结到这个问题上,使用自定义tabbar使用wxnavigateTo会出现页面栈充满,然后不会跳转问题,使用wxreLaunch等又会出现闪动太大不能接受问题,最后使用在主页面使用官方tabbar组件显示,其他页面需要tabbar的话使用自定义tabbar解决。

例子:>

先看效果

如需要看下一篇文章-- 微信小程序 自定义底部导航闪烁解决 正在加急完成预计明天

⚠️ "tabBar"重点,自定义tabbar也需要写,但是在appjs中隐藏默认的tabbar

⚠️ thisgetSystemInfo() === 获取设备信息,因为iosX系统适配

tabbarwxml

tabbarwxss

cjs

tabbarjson

自定义导航基本可以,下面在页面中引入并使用

footerwxml, headerwxml, mywxml

footerjson, headerjson, myjson

footerjs, headerjs, myjs

以上就是关于uni 小程序遮罩覆盖tabbar (伪)全部的内容,包括:uni 小程序遮罩覆盖tabbar (伪)、微信小程序动态tabBar实现、小程序动态tabBar菜单,根据条件渲染不同的tabBar等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10174135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存