2009-09-08 3 views
5

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

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

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

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

ответ

17

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

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

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

1

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

BOOL hide = ![self.navigationController isNavigationBarHidden]; 
[self.navigationController setNavigationBarHidden:hide animated:YES]; 
1

Существует также весьма полезный метод для UIViewController.

- (BOOL) hidesBottomBarWhenPushed { 
//hide a toolbar or whatever 
return NO; 
} 
0

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

Смежные вопросы