UINavigationController
カスタム背景を描画するカスタムがあります。そのナビゲーション コントローラーはself.navigationController
、ルート ビュー コントローラーにアクセスするときに既に設定されています。ここでやりたいことは、新しいビュー コントローラーをプッシュすることですが、新しいビュー コントローラーのナビゲーション コントローラーをデフォルトのもの (カスタム背景なし) に置き換えることです。
基本的に、新しいビュー コントローラーはナビゲーション バーが半透明の画像を表示します。ルート ビュー コントローラーから (カスタム背景を持つ) ナビゲーション コントローラーを再利用するため、最終的な効果は、カスタム背景を持つ半透明のナビゲーション バーになります。
新しいビュー コントローラーをモーダル ビューとして表示するときに、ナビゲーション バーを置き換えることができることはわかっています。しかし、新しいView Controllerをプッシュするときに置き換えることはできますか?
私はこのようなことを試しましたが、このコードは効果がありません:
LTImageViewController* controller = [[LTImageViewController alloc] init];
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:self];
[navController pushViewController:controller animated:YES];