Вы пробовали установить:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
чтобы вернуть YES
? Кроме того, убедитесь, что для делегата жеста касания установлено значение self, чтобы сообщение было принято правильно. Я только что проверил это в новом проекте, и он работает.
EDIT
Не совсем уверен, для чего ваша анимация begin & commit - метод setNavigationBarHidden:animated:
анимирует сам себя. Кроме того, использование этих определений анимации не рекомендуется в iOS 4 и более поздних версиях - обратите внимание на использование блочной анимации вместо UIView
.
Для вашего контроллера навигации вы в значительной степени там - реализуйте что-то вроде этого:
- (void)screenTappedTwice:(UITapGestureRecognizer *)sender
{
BOOL shouldHideNavBar = [self.navigationController isNavigationBarHidden] ? NO : YES;
[self.navigationController setNavigationBarHidden:shouldHideNavBar animated:YES];
}