push到下一个页面时隐藏自定义tabbar

本文介绍如何在使用自定义TabBarController并进行页面push时隐藏TabBar。通过重写`hidesBottomBarWhenPushed`属性,并在目标页面添加相应方法来实现隐藏效果。对于多个需要隐藏TabBar的页面,可以通过创建父类并统一处理来优化代码。
摘要由CSDN通过智能技术生成


今天写项目时遇到了一个问题:一个自定义的tabbar(继承了系统的UITabBarController),用导航的push跳转到下一个页面时想隐藏该tabbar,用

hidesBottomBarWhenPushed

没有起作用,原来 hidesBottomBarWhenPushed 适用于系统的tabbar,自定义的tabbar不能通过 hidesBottomBarWhenPushed 属性简单的设置。以下是我的解决方法:


1.在自定义tabbar的页面,添加如下方法

-(void)setHidesBottomBarWhenPushed:(BOOL)hidesBottomBarWhenPushed
{
    myTabBarView.hidden = hidesBottomBarWhenPu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你的自定义tabbar中有一些tab没有对应的页面,你可以在tabbar组件的点击事件中判断当前点击的tab是否有对应的页面,如果没有则弹出一个对话框。 具体实现方法如下: 1. 在tabbar组件的点击事件中,使用uni-app提供的switchTab方法跳转到对应的页面,并在跳转之前判断当前点击的tab是否有对应的页面。如果没有则弹出一个对话框: ```vue <template> <view class="custom-tabbar"> <view class="tabbar-item" v-for="(tab, index) in tabs" :key="index" @click="tabbarClick(index, tab)"> <image class="tabbar-icon" :src="tab.iconPath"></image> <text class="tabbar-text">{{ tab.text }}</text> </view> </view> </template> <script> export default { data() { return { tabs: [ { iconPath: '/static/tabbar/home.png', text: '首页', pagePath: '/pages/index/index' }, { iconPath: '/static/tabbar/message.png', text: '消息', pagePath: '' }, { iconPath: '/static/tabbar/mine.png', text: '我的', pagePath: '/pages/mine/mine' } ] } }, methods: { tabbarClick(index, tab) { if (tab.pagePath === '') { // 判断当前点击的tab是否有对应的页面 uni.showModal({ title: '提示', content: '该功能正在开发中', showCancel: false }) } else { uni.switchTab({ url: tab.pagePath }) } } } } </script> ``` 在上面的代码中,我在tab对象中添加了一个pagePath属性,表示该tab对应的页面路径。如果pagePath为空字符串,则说明该tab没有对应的页面。在tabbarClick方法中,我首先通过判断tab的pagePath属性是否为空字符串来判断当前点击的tab是否有对应的页面,如果没有则弹出一个对话框提示用户该功能正在开发中。如果有,则使用switchTab方法跳转到对应的页面。 这样,当你点击自定义tabbar的没有对应页面的tab,就会弹出一个对话框提示用户该功能正在开发中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值