Скрыть UITabBar в приложении для iPad - PullRequest
6 голосов
/ 18 января 2012

Этот вопрос задавался много, и есть довольно много ответов, но ни один из ответов, которые я могу найти, не отвечает на следующие вопросы:

У меня есть UITabBarController

Я хочу скрытьпанель вкладок, поэтому я называю:

self.tabBarController.tabBar.hidden = YES

Это удаляет панель, но теперь есть пустой черный ящик, в котором находилась панель вкладок.Я попытался изменить размер кадра ViewController, который в настоящее время представлен, и он всегда находится за черным ящиком слева от панели вкладок.

Я также перебираю все подпредставления и скрываю их, не повезло.

Наконец, я попытался изменить размер фрейма вкладки, и это тоже не сработало

Кому-нибудь повезло с этим?

Также: hidesBottomBarWhenPhed не работает, поскольку приложение не основано на UINavigationViewController, оно основано на UITabBarController.

Этоприложение для iPad

Ответы [ 2 ]

8 голосов
/ 18 января 2012

У меня была такая же проблема. Вот как я скрывал панель вкладок:

[self.tabBar removeFromSuperview];
    UIView *contentView;
    if ([[self.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]]) {
        contentView = [self.view.subviews objectAtIndex:1];
    } else {
        contentView = [self.view.subviews objectAtIndex:0];
    }
contentView.frame = self.view.bounds;

Это вызывается из tabBarController (у меня есть подклассы), но он удаляет tabBar и изменяет размер представления, чтобы избавиться от той черной полосы, которую вы видите сейчас. Если у вас нет подкласса tabBarController, я уверен, что вы можете просто изменить все экземпляры self на self.tabBarController, и он должен работать одинаково.

Надеюсь, это поможет

0 голосов
/ 18 января 2012

Это не совсем элегантное решение, но вы могли бы изменить размер высоты представления UITabBarController, чтобы он проходил за нижний край экрана?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...