#author("2016-06-19T14:06:57+09:00","default:wikiwriter","wikiwriter") #author("2016-11-30T14:58:04+09:00","default:wikiwriter","wikiwriter") [[Storyboard]] &tag(Storyboard/セグエ); *目次 [#u902cf12] #contents *関連ページ [#k8ea6011] *参考情報 [#q1ef1777] -[[segueについて調査 (Storyboard) - しめ鯖日記:http://llcc.hatenablog.com/entry/2015/05/27/003110]] *画面遷移を簡単に行うためのもの [#vdc87be9] **アクションセグエ [#y1ecc81c] -遷移元のボタンをControl-ドラッグして遷移先にドロップ。 -Show / Show Detail…などを選べばボタンを押したタイミングで自動的に遷移できる。 **マニュアルセグエ [#m7259d80] -遷移元のView Controllerを右クリック。manualセグエをドラッグして遷移先にドロップ。 -何かのイベント発生時に以下のメソッドを呼び出して遷移する。SegueIDはInterface Builderで設定する。 #pre{{ self.performSegueWithIdentifier("SegueId", sender: self) }} **遷移先から戻る [#pe2fcfdb] -遷移元のView Controllerに以下のメソッドを追加 #pre{{ @IBAction func backWithSegue(let segue: UIStoryboardSegue) { NSLog("back") } }} -例えば遷移先から「戻る」ボタンを教えて戻りたい場合、IB上でボタンをControl-ドラッグしてIBのExitに接続。backWithSegueを選ぶ。 -またはViewControllerを自分自身のExitに接続して名前をつけ、手動で呼び出すこともできる。 **テーブルビューで遷移する [#mb58605b] ***行のタップで次のビューコントローラーを呼び出す [#mbcaba8c] -ストーリーボードのビューコントローラー(画面上部の3つのアイコンの左端)を遷移先のビューコントローラーにドロップ。 -セグエに名前をつけておく。 -行が押されたとき以下のように呼び出して遷移する。 #pre{{ func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { self.performSegueWithIdentifier("simple", sender: self) } }} ***呼び出したビューコントローラーから戻る [#ldb3839b] -呼び出し先のビューコントローラーでビューコントローラー(画面上部の3つのアイコンの左端)をExit(右端)にドロップ。呼び出し元のbackWithSegue的なメソッドを設定する。 #pre{{ @IBAction func backWithSegue(let segue: UIStoryboardSegue) { NSLog("back") } }} -このセグエに適当な識別子を割り振る(IBでUnwind segueを選択して)。 -テーブルビューでタップされたタイミングで戻りたい場合以下のように戻る。 #pre{{ func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { self.performSegueWithIdentifier("back", sender: self) } }}