ポジティブ丸メガネ

3年目エンジニアです。

Swift: 好きなタイミングで画面遷移(コードで画面遷移)する方法。

ボタンを押してから画面遷移はストーリーボードを利用すれば簡単にできる。しかし、何かしらの処理を行ってから画面遷移とか、自分の場合だと「tableViewを横スワイプしてDeleteとEditが出てくるときの、Editを押した時に画面遷移したい」ときは、ストーリーボードではできない。ボタン見えてないし。そういった場合の解決策の話。

[iPhone] UITableView セルの選択 (Swift)
このサイトがめちゃくちゃ参考になりました。

ポイントはストーリーボード上で、遷移元のView(A)の上の一番左のアイコンを右クリックして、manualの+記号を引っ張って、遷移先のView(B)と繋げること。これをすることによって、AからBへ遷移することが明示されているが、いつ遷移するかは手動で決めることが可能になる。上記サイトではmodalを選択しているが、自分はNavigation Barを引き継いでほしかったので、showを選択して問題なく動作した。

そして、遷移したいタイミングで以下の呼び出せば遷移可能。

performSegueWithIdentifier("呼び出したいSegueの名前",sender: nil)

またひとつ勉強になりました。