推送时隐藏自定义标签栏
Posted
技术标签:
【中文标题】推送时隐藏自定义标签栏【英文标题】:hide custom tabbar when push 【发布时间】:2013-01-31 07:03:11 【问题描述】:我的应用中有一个自定义标签栏。我想在推送另一个视图控制器时隐藏我的标签栏。 目前我是这样实现的(原来的tabbar已经隐藏了):
myViewController.hidesBottomBarWhenPushed = YES;
((CustomTabBarController *)self.tabBarController).customTabBar.hidden = YES;
[self.navigationController pushViewController:lookBookViewController animated:YES];
但是当它被推送时,它会立即隐藏我的 customTabBar。所以你可以在第一个视图控制器中看到一个黑色的底栏。有没有办法解决这个问题?
谢谢。
【问题讨论】:
【参考方案1】:把你的这些代码放在- (void)viewDidDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated
[super viewDidDisappear:animated];
myViewController.hidesBottomBarWhenPushed = YES;
((CustomTabBarController *)self.tabBarController).customTabBar.hidden = YES;
你可以这样设计
然后你不需要隐藏标签栏,如果你想隐藏它,你可以使用我上面的代码,我想如果你这样设计,隐藏效果就是你想要的
【讨论】:
只在viewDidDisappear方法中添加最后一句,在myViewController出现后customTabBar就消失了。仍然不如原生 tabbar 完美,后者只在之前的 viewcontroller 中显示 tabbar。 @yibuyiqu 是你设计的问题,你可以看我的更新以上是关于推送时隐藏自定义标签栏的主要内容,如果未能解决你的问题,请参考以下文章
iOS7标签栏自定义图标高度 - 高度减小直到图标变得不可见