2016-01-25 2 views
0

При переходе к новому контроллеру представления с моим контроллером панели вкладок, одним из вкладок я хочу скрыть контроллер панели вкладок. Для этого я использую следующий код:Ярлыки, получающие y позицию, установленную на inf

- (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]; 
} 

Я называю shouldHideTabBar: по мере необходимости, с соответствующим BOOL. Однако при настройке константы на tabBarHeightConstraint на 0, положение ярлыков y устанавливается в inf. Это вызывает всевозможные проблемы, когда я пытаюсь сделать размытие и анимацию.

Кто-нибудь знает, почему мои ярлыки улетают до бесконечности, когда я устанавливаю ограничение на ноль? Все, что я должен проверить в другом месте приложения, или это какое-то странное поведение TabBar?

+0

Билл, что случилось с моим ответом? Если вы не понимаете, это стандартный метод из UIKit, чтобы скрыть вкладку через push-переход. –

ответ

-1

Может быть лучше было бы использовать метод:

-(BOOL)hidesBottomBarWhenPushed { 
    return YES; 
} 

внутри вида контроллера, на котором вы бы скрыть TabBar?

Смежные вопросы