1

RootViewController から 6 つのタブを持つタブ バー コントローラーに移動しています... すべてのタブ ビューを RootViewController にポップバックする左ナビゲーション バー項目に戻るボタン メソッドを作成しました... 5 番目または 5 番目のタブビューをポップしようとすると問題が発生します。 . MoreViewController、5番目のタブと6番目のタブで戻るボタンがまったく機能しません...

1) 1 つから 4 つのタブから RootView に戻ります。

2) More View から RootView に戻ります (初回のみ動作します)。

3) 5th/6th View から MoreView に戻ります (初回のみ)。

1) MoreView から RootView に戻らない

私は何を間違っていますか?

- (void)viewDidLoad
{
...
   self.tabBarController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemDone target:self action:@selector(goBack)];
...
}

各タブに書かれた goBack メソッドのコード

-(void)goBack{

    [self.navigationController popToRootViewControllerAnimated:NO];
}
4

2 に答える 2

0

何が問題なのかを理解したので、自分の質問に答えます...各タブにpopToRootViewControllerを書いていたので、5番目のタブに入って戻ると、詳細ビ​​ュータブに戻って忘れてしまいますルートビューについて.. そこで、各タブから popToRootViewController を削除し、ルートビューページのタブバー宣言時にビューをポップするコードを書きました... タブバーの宣言、次に戻るためのタブバーのナビゲーションボタンを設定して、いくつかのメソッドを呼び出します...そしてそのメソッドで私は popToRootViewController を書きます...

于 2013-02-19T09:45:53.177 に答える
0

これを試してください..役立つかもしれません

NSArray *viewContrlls=[[self navigationController] viewControllers];
    for( int i=0;i<[ viewContrlls count];i++)
    {
        id obj=[viewContrlls objectAtIndex:i];
        if([obj isKindOfClass:[rootController class]])
        {
            [[self navigationController] popToViewController:obj animated:YES];

            return;
        }
    } 
于 2013-02-18T08:44:19.603 に答える