Вы можете иметь UINavigationBar
без контроллера навигации:
navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 40.0f)];
[navBar setDelegate:self];
[mainView addSubview:navBar];
UITapGestureRecognizer
- это конкретный подкласс UIGestureRecognizer
, который ищет один или несколько нажатий:
UITapGestureRecognizer *doubleTap =[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideNavBar:)];
[doubleTap setNumberOfTapsRequired:2];
[YOURVIEW addGestureRecognizer:doubleTap];
UITapGestureRecognizer *singleTap =[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showNavBar:)];
[singleTap setNumberOfTapsRequired:1];
[YOURVIEW addGestureRecognizer:singleTap];
Вот методы, которые показывают или скрывают панель навигации:
- (void)hideNavBar:(id)sender
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0f]; //Animation duration in seconds
navBar.alpha = 0.0f;
[UIView commitAnimations];
}
- (void)showNavBar:(id)sender
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0f]; //Animation duration in seconds
navBar.alpha = 1.0f;
[UIView commitAnimations];
}