Добавьте этот метод переключения в любом месте вашего UIViewController. Это скрывается при первом нажатии и снова отображается при втором нажатии.
- (void)toggleNavBar:(UITapGestureRecognizer *)gesture {
BOOL barsHidden = self.navigationController.navigationBar.hidden;
[self.navigationController setNavigationBarHidden:!barsHidden animated:YES];
}
Если нет контроллера навигации, свяжите панель навигации с IBOutlet и замените на
- (void)toggleNavBar:(UITapGestureRecognizer *)gesture {
BOOL barsHidden = self.navBar.hidden;
self.navBar.hidden = !barsHidden;
}
Затем добавьте следующее в метод -(void)viewDidLoad {}
UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleNavBar:)];
[self.view addGestureRecognizer:gesture];
[gesture release];
Если представление, к которому вы собираетесь подключиться, является UIWebViewController, вам нужно добавить протокол в контроллер представления и установить его в качестве делегата gesture.delegate = self;
, затем добавить следующее:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
Это необходимо, потому что UIWebViewController уже реализует свои собственные распознаватели жестов.