UINavigationController で次のビューコントローラーに進める : Objective-C プログラミング

PROGRAM


UINavigationController で次のビューコントローラーに進める

UINavigationController に配置された UIViewController では、次のようにしてビューコントローラーを進めることができます。

// UINavigationController のビューを次に進めます。

[self.navigationController pushViewController:nextViewController animated:YES];

引数で指定している nextViewController は、次の UIViewController です。

このようにすることで、ナビゲーションコントローラーの枠の中で、指定したビューコントローラーに制御が移り、新しいビューコントローラーが持つビューが画面に表示されます。

animated で渡している引数は、ビューコントローラーを進める際にアニメーション表示するかを指定しています。

 

ちなみに、ナビゲーションコントローラーとは関係なく、表示中のビューコントローラーをそっくり別のビューコントローラーに切り替えたい場合には、iPhone や iPad 等では 表示中のビューコントローラーを置き換える のようにすると実現できる感じでした。

 

UINavigationController で前のビューコントローラーに戻る

進めたビューコントローラーから、ひとつ前のビューコントローラに戻る場合は、次のようにします。

// UINavigationController のビューを前に戻します。

[self.navigationController popViewControllerAnimated:YES];

これで、ひとつ前のビューコントローラーに戻ることができました。

 

トップに戻りたい場合や、指定したビューコントローラーまで戻りたい場合にも、次のようにして簡単に実現できます。

// ルートビューコントローラーまで戻ります。

[self.navigationController popToRootViewControllerAnimated:YES];

 

// 指定したビューコントローラーまで戻ります。

[self.navigationController popToViewController:aViewController animated:YES];

 

 

目的のビューコントローラーのひとつ前に戻りたいような場合には、そのようなメソッドが用意されていないので、自分で作る必要があるようでした。

それについては UINavigationController で、あるビューコントローラーのひとつ前まで戻る に記したので、参考にしてみてください。

[ もどる ]