вот часть моего кода, но таким образом, когда я нажимаю контроллер уровня третьего уровня, табба не будет отображаться.UINavigationController, как скрыть вкладку во втором уровне viewController, а затем отобразить вкладку на третьем уровне viewController
//at first level
SecondLevelViewController *_2vc = [[SecondLevelViewController alloc]initWithNibName:@"SecondLevelViewController" bundle:nil];
_2vc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:_2vc animated:YES];
//at second level
ThirdLevelViewController *_3vc = [[ThirdLevelViewController alloc]initWithNibName:@"ThirdLevelViewController" bundle:nil];
_3vc.hidesBottomBarWhenPushed = NO;
[self.navigationController pushViewController:_3vc animated:YES];
Он работает. Но мне интересно, почему установка hidesBottomBarWhenPushed свойства на NO не будет работать при нажатии на контроллер уровня третьего уровня? –
Я предполагаю, что hidesBottomBarWhenPushed - это переменная BOOL no? Если это просто переменная bool, вы не можете ожидать, что она будет скрывать/отображать виды сама по себе. Вам нужно будет реализовать код скрытия/отображения где-нибудь в вашем контроллере представления. В этом примере я установил код hide/display в методе viewWillAppear. –