ルートView Controllerでナビゲーションバーが表示されないようにアプリを動作させようとしています.別のView Controllerをスタックにプッシュすると(Storyboardセグエを使用)、ナビゲーションバーがアニメーション表示されます(ビューにスライドを表示します)。
他の SO 記事で推奨されているように、ルート コントローラーには次のものがあります。
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:YES animated:animated];
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:NO animated:YES];
[super viewWillDisappear:animated];
}
ナビゲーション バーは正しく表示/非表示になりますが、アニメーション化 (フェード イン/アウト) しません。
私は黒い半透明のバーを使用していますが、すべてのタイプのバーを試しましたが、違いはありません。これはiPhoneアプリにあります。シミュレーターと非シミュレーターも試しました。何か案は?
私のアプリが何をしているかのデモンストレーションを示すビデオを作成しました。
明確にするために、それは適切に現れたり消えたりしていますが、それは突然起こります. この移行中にフェードイン/フェードアウトさせようとしています。
Xcode 4 / iOS 5.1 のデモ プロジェクトへのリンクを追加しました。
https://www.dropbox.com/sh/mwsgjyup4iumy2r/QNN7xkHXSt
更新/回答:最終的に、私のコードは「機能している」ことが判明しました。つまり、Apple が意図したことを実行しており、ナビゲーション バーがスライドして表示されます。同時にナビゲーションバーを非表示から表示にフェードする必要があるという誤った印象を受けましたが、それは機能しません。
@Eに感謝します。私が意図したことを実行する方法を示すアニメーション コードの Lüders。