2009-06-12 2 views
0

ここにシナリオがあります。私は4つのビューコントローラv1、v2、v3、v4をiPhoneの4つのタブに表示しています(UITabbarcontrollerを使用)。今私は別のビューsv1をv1にプッシュします(v1を表示しているときは、[appDelegate.nv pushViewController:sv1 animated:YES]のようなpushviewcontrollerを使用します)。 nvはrootviewcontroller、v1を持つUINavigationController initです。iPhoneアプリケーション(プッシュ/ポップのviewcontrollerを使用)のビューをナビゲートするのに問題があります

私はv2タブバー(私はsv1を見ている間)を押して、次にv1を押すとsv1が表示されます。しかし、私はこの動作を望んでいません。私はsv1の代わりにv1を表示したい。 v2をクリックしたときに、親ビューからsv1を削除するにはどうすればよいですか?

私は[self.navigationController popToRootViewControllerAnimated:NO]を使用しようとしました。 sv1のviewWillDisappearメソッドからは動作しません(v1に戻りますが、ナビゲーションバーが描画されず、v1のタブバーアイコンが表示されないなど、v1ビュー全体が壊れているように見えます)。

誰でも私にこの問題を解決する方法を教えてもらえますか?

ありがとうございました。

答えて

1

あなたが最初にこの読むことができる:追加で

Problem popping to root nav controller on tab bar switch

... UITabBarControllerは、さらにあなたのように見える、あなたがそこにpopToRootViewControllerAnimatedを呼び出すことができ

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 

を定義しUITabBarDelegateに準拠しv1のUINavigationControllerは、appDelegateからアクセス可能です

関連する問題