0

私はタブバーを使用しており、各タブにはナビゲーションコントローラーがあり、これにはビューのスタックがあります。各ビューには独自のビュー コントローラーがありますが、これは現時点では重要ではありません。

ビュー A、B、C を持つナビゲーション コントローラ 1 を備えたタブ 1 を用意します。ただし、アプリケーションの性質上、ビュー B がプライマリ ビューになります。

だから私が望むのは、デフォルトで(アプリの最初または再起動後)、タブ1をタップすると、BビューとAビューへの戻るボタンが表示されることです。

どうすればこれを達成できますか?

4

4 に答える 4

0

タブ バー コントローラーのデリゲートを設定し、tabBarController:didSelectViewController:誰かがタブをタップしたことを検出するように実装できます。A が選択されようとしていることを検出し、代わりに B を表示したい場合は、A のコントローラーにそのナビゲーション コントローラーを使用して B のコントローラーをプッシュするように指示できます。

于 2012-11-23T16:21:53.903 に答える
0

ビュー A の viewDidLoad で、ビュー B (アニメーションなし) を初期化してナビゲーション スタックにプッシュしてみてください。

于 2012-11-23T16:28:01.587 に答える
0

setViewControllers:animated:UINavigationControllerの を使用できます。正確なニーズに応じて、アプリのデリゲートapplicationWillEnterForeground:またはapplicationDidBecomeActive:メソッドでこれを設定できます。

于 2012-11-23T16:48:51.630 に答える
0

まさにこれを行う Apple のサンプル アプリがあったことを思い出します。一般的な考え方は、最後に表示されたView Controllerを保存し(または必要なものをハードコードするだけ)、次のような方法で表示状態にプッシュすることです。

[myNavigationController pushViewController:viewControllerToBeVisible animate:NO];

apps を表示し、tabBarController:didSelectViewController:選択された viewController に基づいてさまざまなケースを処理する必要があります。

于 2012-11-23T17:02:32.037 に答える