IOS 隐藏UItabbar后底部留白的问题

时间:2021-7-20 作者:qvyue

一般App都是Window->UITabBarController->UINavigationController->UIViweController,而一般跟视图ViewController的UITabBar都是显示的,但是随便push到某个ViewController都是需要隐藏的。

比如:A是跟视图ViewController,A push 到B ,B需要隐藏

很多人喜欢这样写,这样是错误的,因为会在B底部留白

在B控制器里面写

-(void)viewWillAppear:(BOOL)animated{

    [superview WillAppear:animated];

    self.tabBarController.tabBar.hidden=YES;

}

– (void)viewWillDisappear:(BOOL)animated{

    [superview WillDisappear:animated];

    self.tabBarController.tabBar.hidden=YES;

}

正确的姿势应该是在Apush到B之前就已经设置好了隐藏UITabBar

B.hidesBottomBarWhenPushed=YES;

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

这样就不会存在留白的问题,再push到别的控制器就不用写这句话也可以隐藏的

这是pop到跟视图UIViewController发现,UITabBar还是隐藏的状态,那么只需要在A控制器添加

-(void)viewWillAppear:(BOOL)animated{

    [superview WillAppear:animated];

    self.tabBarController.tabBar.hidden=NO;

}

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。