2012/02/01

Storyboardの使用方法(Segue)

StoryBoardを使って画面遷移時に独自の処理を実行する方法。

Storyboard上のViewController同士をCtrl+ドラッグで接続すると、
簡単に画面遷移(Push/Modal)は実現できるが、
この方法では、遷移元から遷移先へパラメータを渡せない。
(がんばれば渡せない事は無いと思うが、面倒そう?)

しかし下記の方法なら、
パラメータの譲渡から、画面遷移の制御まで何でもゴザレだ。

Storyboard上の矢印(Segue)を選択、
Attributes InspectorのStyleをCustomに変更する。
Segue Classの入力フィールドが出現する。

というわけで、UIStoryboardSegueのサブクラスを作成する。
オーバーライドするメソッドは、
- (void)perform;
のみ

ここに、画面遷移の途中の制御で必要な処理を記述する。
遷移元のBViewControllerは
self.sourceViewController
遷移先のViewControllerは
self.destinationViewController
でアクセスできるので、適宜キャストして使用する。

忘れてはいけないのは、sourceとdestinationのつながりをcustomに変更したので、
そのままでは、画面間の遷移は発生しない。
ので、pushなりmodalなりでつないであげる必要がある。

これで、おk。


0 件のコメント:

コメントを投稿