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 件のコメント:
コメントを投稿