«Скрыть» панель вкладок при нажатии на представление - PullRequest
5 голосов
/ 27 октября 2009

Приложение New York Times для iPhone имеет панель вкладок с пятью элементами панели вкладок. Когда вы выбираете вкладку «Последние», приложение отображает заголовок и аннотацию / сводку в UITableView. Когда вы выбираете отдельную историю для чтения, панель вкладок исчезает и заменяется на верхний и нижний колонтитулы, которые появляются / исчезают в зависимости от состояния приложения. Как приложение «скрывает» панель вкладок?

Спасибо!

Ответы [ 3 ]

10 голосов
/ 24 февраля 2010

Реализуйте этот фрагмент кода в классе, где вы хотите скрыть панель вкладок.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
    // Custom initialization
}
self.hidesBottomBarWhenPushed = YES;
return self;
}

Всего наилучшего.

6 голосов
/ 27 октября 2009

Контроллер вида, который помещается в стек контроллера навигации, имеет свой параметр hidesBottomBarWhenPush, установленный в значение yes. Код будет выглядеть примерно так в табличном представлении -didSelectRowAtIndexPath.

NSDictionary *newsItem = [newsItems objectAtIndex:[indexPath row]];
NewsDetailViewController *controller = [[NewsDetailViewController alloc] init];
[controller setHidesBottomBarWhenPushed:YES];
[controller setNewsItem:newsItem];
[[self navigationController] pushViewController:controller animated:YES];
[controller release], controller = nil;

Посмотрите документацию для шкурBottomBarWhenPressed .

p.s. Вы, вероятно, получите больше информации об этом вопросе, если добавите к нему тег «iphone».

2 голосов
/ 27 октября 2009

У меня есть представление, которое может (в зависимости от какого-либо другого состояния) отображать панель инструментов контроллера навигации. Это решение, которое я использовал, чтобы показать и скрыть панель инструментов (с анимацией), когда представление появляется и исчезает при навигации. Похоже, что вы могли бы после.

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    // Show the nav controller toolbar if needed
    if (someBool)
        [self.navigationController setToolbarHidden:NO animated:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];

    // Hide the nav controller toolbar (if visible)
    [self.navigationController setToolbarHidden:YES animated:animated];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...