Автоматическое скрытие UINavigationBar и UIToolbar

У меня есть приложение для iPhone, основанное на навигационном контроллере.

У меня есть контроллер основного представления, который отображает список статей, и подробное представление, где вы можете увидеть одну статью в UIWebView. Для подробного просмотра у меня есть панель навигации вверху и UIToolbar внизу.

Я хотел бы автоматически скрывать их с помощью анимации слайдов (сверху и снизу) и восстанавливать их при нажатии на экран. Я думал, что это будет стандартная функция, но не мог найти, как это сделать.

Для справки, это то, что делают Stanza или приложение NYT.


person pgb    schedule 08.09.2009    source источник


Ответы (4)


Настройте метод, который запускает это в событии касания:

if (![navigationController isNavigationBarHidden])
  [navigationController setNavigationBarHidden:YES animated:YES]; // hides
else
  [navigationController setNavigationBarHidden:NO animated:YES]; // shows

Что касается UIToolbar, это подкласс UIView, так что вы сможете довольно легко настроить пользовательская анимация для появления и исчезновения сообщения.

person Alex Reynolds    schedule 08.09.2009

Также есть довольно полезный метод для UIVIewController.

- (BOOL) hidesBottomBarWhenPushed {
//hide a toolbar or whatever
return NO;
}
person knuku    schedule 03.08.2010

Попробуй это:

BOOL hide = ![self.navigationController isNavigationBarHidden];
[self.navigationController setNavigationBarHidden:hide animated:YES];
person Vingoradov.Ser    schedule 13.12.2009

Я думаю, в последнее время вы можете использовать self.navigationController.hidesBarsOnTap = true;

person Vanya    schedule 11.11.2014