iOS 隐藏系统的tabbar后,tabbar所在frame区域不可点击问题

本文介绍了如何在iOS应用中自定义TabBar样式并解决隐藏系统TabBar后,其所在区域不可点击的问题。通过在TabBar上方添加自定义视图并调整系统TabBar的frame,在控制器进入和退出时控制自定义TabBar的显示和隐藏,实现了在导航控制器中平滑切换时隐藏和显示TabBar的效果。示例代码详细展示了实现这一功能的步骤。
摘要由CSDN通过智能技术生成

系统自带的UITabBarController有时候到不到要求,需要自定义样式。

有一种方法就是在TabBar上面在放一层自己的,正好把原来的遮住。

那么,从Tab进入子的Controller想要隐藏TabBar怎么办呢?

假如说你是用 TabBar + Navigation来做的,从第一个Tab——TabBar1进入子Controller(称作A),

逻辑很简单,就是从TabBar1点击进入A,

你需要在TabBar1点击事件(A显示之前)加上

self.hidesBottomBarWhenPushed = YES;

然后在A的viewWillAppear中把你自己自定义,也就是覆盖在系统TabBar上面的东西隐藏;

在viewWillDisappear中再将其显示就可以了。

示例代码如下:

点击事件:


    TabNoticeController *vc = [[TabNoticeController alloc] init];

    self.hidesBottomBarWhenPushed = YES;

    [self.navigationController pushViewController:vc animated:YES];

 

A中的代码:


- (void)viewWillAppear:(BOOL)animated {

    [xxxTabBar setTabBarHidden:YES];

}

- (void)viewWillDisappear:(BOOL)animated {

    [xxxTabBar setTabBarHidden:NO];

}



// 隐藏tabar的时候,有两种方法,一种是在压栈前,设置 hidesBottomBarWhenPushed 为 YES

    
     另一种是用代码实现效果
     - (void)viewWillAppear:(BOOL)animated {


    [super viewWillAppear:animated];

    [self hideTabBar:YES];//隐藏tabbar

}

- (void)viewWillDisappear:(BOOL)animated {


    

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值