关于标签栏隐藏和显示的问题

在iOS开发中,遇到一个标签控制器管理两个导航控制器的场景,当从UITableViewCell进入新界面时,需隐藏标签栏以避免遮挡输入框。返回时标签栏应重新显示。错误实现导致再次通过标签栏切换返回时标签栏隐藏。正确解决方案是利用`hidesBottomBarWhenPushed`属性,并理解UIViewController的生命周期,确保在适当的时候隐藏和显示标签栏。测试发现,在视图已消失和将要消失的方法中设置效果相同。
摘要由CSDN通过智能技术生成

开发项目的过程中遇到这么一个问题:

一个标签控制器包装了两个导航控制器,两个导航控制器分别包装了一个视图控制器(里面主要是UITableView)

当你点击cell的时候推送到另一个界面,需要隐藏标签栏,(因为标签栏覆盖了下面的输入框),回来的时候显示标签栏(这个没什么问题)

当你点击标签栏上的另一个标签再点会回来的时候标签栏会隐藏(我写的错误代码,就不介绍了)

正确思路:(-_-||用这个做出来了应该是正确的吧)

首先需要了解这个属性:(当推送的时候隐藏,默认为NO)

hidesBottomBarWhenPushed

其次,了解UIViewContrllor的生命周期:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
 
}
- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
}
-(void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
//    self.hidesBottomBarWhenPushed = NO;
    
}
-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppe
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值