将y位置设置为inf的标签

时间:2016-01-25 22:42:34

标签: ios objective-c uitabbar

当使用我的标签栏控制器转换到新的视图控制器时,我想要隐藏标签栏控制器的选项卡上的一个。为此,我使用以下代码:

- (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的一些奇怪的行为?

1 个答案:

答案 0 :(得分:-1)

也许更好的方法是使用方法:

-(BOOL)hidesBottomBarWhenPushed {
    return YES;
}

你要隐藏tabbar的内部视图控制器?