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 で、あるビューコントローラーのひとつ前まで戻る に記したので、参考にしてみてください。
[ もどる ]