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

一般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;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容