UIStoryboardを使ってmodalから戻るようにしてみた

前回はUIStoryboardを使ってみました。
本当に使ってみただけで一方通行の画面遷移でした。帰れません。


今回はUIStoryboardのmodalで表示した画面から元の画面に帰れるようにしてみたいので、
画像でみるとこんな感じの動きをつくります。



前回の続きから初めていきます。
まずは2画面目に対応するUIViewControllerのサブクラスを作ります。
プロジェクトを右クリックして > NewFile > UIViewControllersubclass を選択します。


ファイル名は「MyModalView」でwith xibのチェックは外しておきます。
これで、MyModalView.hとmファイルが作成されました。


MainStoryboardファイルを選び、
2画面目のViewControllerを選択します。


「Identity Inspector」>「Custom Class」> 「Class」からMyModalViewを選択します。
これで今選んだストーリーボードのデザイン上のViewControllerは、
MyModalViewというクラスのカスタムクラスとして設定されました。




ついでに2番目の画面だとわかりやすいよう色を変えておきましょう。


次にセグエを選択し、


「identifier」にstory1と入力します。
これはセグエ自体を識別する為のIDになります。いつか使う時がくると思い設定しておきます。


2番目のViewに「戻る」ボタンを設置します。
「command」 + 「option」+ 「return」でアシスタントエディタを表示し、
ボタンからコード上にコネクタを接続し、「Action」を作成します。



MyModalView.mファイルにActionが生成されるので、
以下行を追記します。

- (IBAction)dissmissModal:(id)sender {
//追記
[self dismissModalViewControllerAnimated:YES];
}

これで戻るボタンを押した時に前の画面に戻れます。
簡単にヘルプ画面を出したいという位なら、これでOKです。

しかし、あるモードに入っている事を示すための利用が推奨されるモーダルビューなので、
これだけでは単なる画面表示と片付けです。

次回はmodal画面で選んだボタンによって1画面目に異なった処理を与えるというのを試してみます。