現在、ナビゲーションコントローラーでQLPreviewControllerを使用しています。(pushViewController)
ナビゲーションバーを非表示にするには、UITapGestureRecognizerを使用します。ユーザーは、ワンタッチ(タップ)でナビゲーションバーを表示/非表示にできます。これはiOS5でうまく機能しました
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[tapRecognizer setNumberOfTapsRequired:1];
[tapRecognizer setDelegate:self];
[[self view] addGestureRecognizer:tapRecognizer];
[tapRecognizer release];
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
- (void)tapped:(UIGestureRecognizer*)gestureRecognizer
{
//hide -/- show navigation bar
[[self navigationController] setNavigationBarHidden:![[[self navigationController] navigationBar] isHidden] animated:YES];
}
しかし、リリースされたバージョンのiOS 6では、タップが完全に無視されるようになったため、ナビゲーションバーを非表示にすることはできなくなりました。
ナビゲーションバーを非表示にしたい理由は何ですか?
.numbersドキュメントを開くと、ナビゲーションバーはナビゲーションバーの下の「シートボタン」を非表示にします。
Ty。