タブバーとして機能するツールバーがある AP の 1 つに奇妙なデザイン パターンがあります。基本的に、このツールバーをすべてのビュー コントローラーに追加します。ツールバー自体には、アプリ内の 3 つの異なるナビゲーション コントローラーへのポインターが含まれています。ツールバー ボタンの 1 つが押されると、現在ウィンドウにあるナビゲーション コントローラーを削除し、ユーザーが選択したものを追加できる必要があります。私の問題は、新しい navcontroller をスーパービューに追加する方法がわからないことです。アプリ デリゲート オブジェクトをインスタンス化して、それに追加しますか? または、アプリのデリゲートからツールバーにポインターをクラス変数として送信する必要がありますか? どんな助けでも大歓迎です。
1 に答える
1
UINavigationController
これを行う最善の方法は、アプリのデリゲートで切り替えを管理することだと思います。このプロセス中に必要なすべてのクリーンアップも、ここで確認できます。切り替えられる s の数が限られている場合UINavigationController
、これを処理する方法がいくつかあるだけかもしれません。
アプリ デリゲート .h ファイル:
@property (nonatomic, retain) UINavigationController *currentNavController;
アプリ デリゲート .m ファイル:
@synthesize currentNavController = _currentNavController;
- (void)loadNavControllerOne
{
self.currentNavController = ...; // Set up your new controller
self.window.rootViewController = self.currentNavController;
}
- (void)loadNavControllerTwo
{
// Similar to -(void)loadNavControllerOne
}
要約ですが、あなたはその考えを理解します。ただし、これらのコントローラー間で状態を共有する必要がある場合は、これが変わります。あなたは?
編集:アプリ デリゲートにアクセスするには、 を呼び出します[[UIApplication sharedApplication] delegate]
。
于 2011-08-06T10:41:57.680 に答える