Скрыть панель вкладок с помощью push

У меня есть tabBar + NavigationViewController. Панель вкладок имеет представление коллекции с ячейками (Say view1), а с ячейками push seague реализуется в другом представлении (Say view2).

В view2 Я хочу иметь navBar, но не панель вкладок.

Я пробовал

self.tabBarController?.tabBar.hidden = true,

он отлично работал для view2, но когда я вернулся к view1 с помощью кнопки назад, вкладка все еще была скрыта (даже после > view1 класс я добавил self.tabBarController?.tabBar.hidden = false в viewDidLoad func).

Как заставить панель вкладок снова появиться в view1?

Я работаю быстро.

Ответ 1

В viewDidload установите для параметра UIViewController hidesBottomBarWhenPushed значение yes:

self.hidesBottomBarWhenPushed = YES;

Таким образом, UINavigationController заботится о скрытии панели вкладок.

Ответ 2

Использовать в prepareforsegue

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showRecipeDetail"]) {
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    RecipeDetailViewController *destViewController = segue.destinationViewController;
    destViewController.recipeName = [recipes objectAtIndex:indexPath.row];

    // Hide bottom tab bar in the detail view
    destViewController.hidesBottomBarWhenPushed = YES;
}}

=)

Ответ 3

Бруно Фернандес отвечает в Свифте:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "YourSegueIdentifier" {
        let destinationController = segue.destinationViewController as! YourViewController
        destinationController.hidesBottomBarWhenPushed = true
    }
}

Это был ответ, который работал у меня. Ввод hidesBottomBarWhenPushed в метод viewDidLoad не работал.

Спасибо Бруно!

Ответ 4

введите описание изображения здесь

Попробуйте проверить это на своем контроллере!

Ответ 5

, если вы хотите скрыть панель нижней панели TabBarController: #Swift 3

В YourViewController: в методе ViewDidLoad()

self.tabBarController?.tabBar.isHidden = false