0

Navigation Controllerに次の構造があります

RootViewController
         |
         |--FirstViewController
         |
         |--SecondViewController

を表示せず に からFirstViewControllerに直接ジャンプするにはどうすればよいですか。「SecondViewController に移動」のようなボタンを の NavigationBar に配置したいと思います。SecondViewControllerRootViewControllerFirstViewController

4

1 に答える 1

1

適切なボタンのアクション メソッドで、 を初期化し、と新しく初期化されSecondViewControllerた の 2 つの要素で構成される NSArray を組み立てます(この順序で、つまりインデックス 0 とインデックス 1)。RootViewControllerSecondViewControllerRootSecond

次に、NavigationController のsetViewControllers:animated:メソッドを呼び出し、View Controller の配列を最初の引数として渡します。このメソッドを呼び出しreleaseた後、または初期化時にメモリ リークを回避することを忘れないでください。SecondViewControllerautorelease

明確にするために、これFirstViewControllerにより が NavigationController によって解放されます。

サンプル:

- (void) goToSecondViewController
{
    RootViewController *root = [[self.navigationController viewControllers] objectAtIndex:0];
    SecondViewController *second = [[[SecondViewController alloc] init] autorelease];
    NSArray *controllersArray = [NSArray arrayWithObjects: root, second, nil];

    [self.navigationController setViewControllers:controllersArray animated:YES];
}

リファレンス: UINavigationController クラス リファレンス

于 2010-07-29T15:28:42.160 に答える