iOS界面跳转过程中导航栏和tabBar的隐藏与显示

本文介绍如何在Swift中实现导航栏和TabBar的隐藏功能。通过重写特定方法来隐藏导航栏,并利用属性调整TabBar显示状态,确保在页面间切换时元素展示一致且流畅。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、当A页面要push到B页面,需要将B页面的导航栏隐藏时,我们只需要在A页面中重写以下两个方法:

override func viewWillAppear(animated: Bool) {

    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(true, animated: true)
   }
  override func viewWillDisappear(animated: Bool) {
     super.viewWillDisappear(animated)
     self.navigationController?.setNavigationBarHidden(false, animated: true)
   }

注意:self.navigationController?.navigationBarHidden = false这样在隐藏了导航栏的控制器和没有隐藏导航栏的控制器之间切换时可能会使导航栏出现闪动的问题。用以上调用设置其隐藏的方法,就可以解决这个问题。

二、当我们从A页面push跳转到B页面需要隐藏tabBar时,在A页面写如下代码:

 self.hidesBottomBarWhenPushed=YES;
    BViewController *bvc=[[BViewController alloc]init];
    [self.navigationController pushViewController:bvc animated:YES];
    self.hidesBottomBarWhenPushed=NO;
    //最后一句话,可以保证在back回到A时,tabBar会恢复正常显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值