- iOS
- 2017-04-14 - 更新:2018-02-15
この記事は最終更新日から1年以上経過しています。
TableViewやCollectionViewを使っているとき、タップしたセルによって遷移するシーンを分岐したい時の方法をご紹介します。
今回はCollectionViewを使っています。
通常、セルからcontrol+ドラッグでセグエを設定するかと思いますが、それだとどちらかのシーンにしかセグエを設定できません。
そのため、View Controllerからセグエを設定します。
ドキュメントアウトラインにてView Controllerを選択し右クリックします。
[Triggered Segues]-[manual]の+をcontrol+ドラッグし遷移したい1つ目のView Controllerでドロップします。
表示方法はShowを選択。
同様に2つ目のView Controllerにも設定します。
すると先ほどのTriggered Seguesのところに2つのView Controllerへのセグエが表示されます。
出来たセグエを選択し、それぞれにIdentifierを設定します。
ここでは1つ目が「Table」、2つ目が「Map」とします。
遷移元のViewController.swiftに以下のコードを追記します。
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if [条件] { performSegue(withIdentifier: "Table", sender: self) } else { performSegue(withIdentifier: "Map", sender: self) } }
以上で完成です。
Xcode: 8.3.1
Swift: 3.1
OS: Sierra 10.12
4,293 views