当使用我的标签栏控制器转换到新的视图控制器时,我想要隐藏标签栏控制器的选项卡上的一个。为此,我使用以下代码:
- (CGFloat)tabBarHeight {
if (self.isTabBarHidden) {
return 0;
}
return TAB_BAR_HEIGHT;
}
- (void)shouldHideTabBar:(BOOL)hideTabBar {
self.isTabBarHidden = hideTabBar;
self.tabBarHeightConstraint.constant = [self tabBarHeight];
self.tabBar.hidden = hideTabBar;
self.bottomBorder.hidden = hideTabBar;
[self.view layoutIfNeeded];
}
我根据需要使用相应的BOOL调用shouldHideTabBar:
。但是,将tabBarHeightConstraint
上的常量设置为0时,标签y位置设置为inf
。当我尝试做一些模糊和动画时,这会导致各种各样的问题。
当我将约束设置为零时,是否有人知道为什么我的标签会飞到无限远?我应该在应用程序的其他地方检查一下,或者这是TabBar的一些奇怪的行为?
答案 0 :(得分:-1)
也许更好的方法是使用方法:
-(BOOL)hidesBottomBarWhenPushed {
return YES;
}
你要隐藏tabbar的内部视图控制器?