标签:
开发项目的过程中遇到这么一个问题:
一个标签控制器包装了两个导航控制器,两个导航控制器分别包装了一个视图控制器(里面主要是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 viewDidAppear:animated]; // self.hidesBottomBarWhenPushed = YES; }
已经显示:(推送隐藏)-(推送了)-隐藏
已经消失: (推送不隐藏)- 避免当在标签栏上点击回来的时候标签栏是隐藏的
额,测试了一下,写在已经消失和将要消失里面没有区别(-_-||)
self.hidesBottomBarWhenPushed = YES;
标签:
原文地址:http://blog.csdn.net/u011032334/article/details/42921245