iPhoneアプリ開発 −複数前の画面に戻る−
やりたいこと
ある画面から別の画面に遷移したい。
- 1つ前の画面に戻りたい。
- 2つ前の画面に戻りたい。
- なんだったらもっと前に画面に戻りたい。
やったこと
前提
self.navigationControllerを使って、以下のように画面遷移している場合。
xxxViewController *vc = [[xxxViewController alloc] initWithNibName:@"xxxViewController" bundle:nil]; [self.navigationController pushViewController:vc animated:YES];
1つ前の画面に戻る
1つ前なら単純に以下の1行で出来ます。
[self.navigationController popViewControllerAnimated:YES];
1つ前以上の画面に戻る
今までself.navigationControllerにpushしたものは以下にあります。
self.navigationController.viewControllers
つまり、1つ前の画面であれば以下になります。
NSInteger count = self.navigationController.viewControllers.count - 2; xxxViewController *vc = [self.navigationController.viewControllers objectAtIndex:count]; [self.navigationController popToViewController:vc animated:YES];
self.navigationController.viewControllers.countは、登録されている数になります。
従って、-1は現在の画面で-2が前の画面になります。
2つ前の画面であれば以下になります。
NSInteger count = self.navigationController.viewControllers.count - 3; xxxViewController *vc = [self.navigationController.viewControllers objectAtIndex:count]; [self.navigationController popToViewController:vc animated:YES];
1つ前の画面が-2なので、2つ前の画面は-3になります。
参考
広告
関連記事
-
jQuery Mobileの1.0Beta3、1.0RC1で起きた現象 -iOS5で動かない!?-
最近おきたjQuery Mobile周りについてのメモ。 本来なら色々チェックしてちゃんと原因を調
-
ソーシャルボタン(Twitterのフォローボタン、Facebookのオススメボタン)を設置する
サイトにソーシャルボタンを設置しようと思いちょこっと調べてみました。 * 設置するボタン
-
Androidアプリ開発 -リストをタッチして別ページ表示-
* 前提 -「設定画面」で各種項目を設定。 --Activity:ConfigActivity --
-
jQuery Mobile1.2のCollapsible Listsを試してみた -画像のカスタマイズについて-
8月1日にjQuery Mobile1.2 Alphaが出ました。 まだAlphaなので自
-
iPhoneアプリ開発 -Bundle identifierを変えてはまった-
* 現象 Bundle identifierを変えた際にXcodeで実機に転送しようとすると以下のエ
-
iPhoneアプリ開発 -利用するべきサービス-
iPhone(iOS)アプリ開発において使っているサービスを列挙。 この手のサービスがないと、開発中
-
DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-
今までのDeployGate - -[http://pplace.jp/2013/03/1398
-
iPhoneアプリ開発 芳名帳アプリ作成(1) -最初の一歩-
* 作るアプリ 結婚式や2次会で「自分の名前を書く」芳名帳 これをアプリで作ってみます。
-
str_padとsprintfの速度
PHPで同じことが出来る「str_pad」と「sprintf」。 今まではsprintfを使う機会
-
iPhoneアプリ開発 芳名帳アプリ作成(4) -設定準備-
* 今までの流れ - -[http://pplace.jp/2013/06/1531/:title=