画面遷移で移動した画面から戻る方法について教えてください。
メニュー画面にあるボタンをタップしてスタッフ一覧画面を開くことはできました。
開いスタッフ一覧画面からメニュー画面に戻るにはどのように設定すれば良いでしょか?
ご教示よろしくお願いいたします。
試したことは、スタッフ一覧画面に戻るボタンを配置して、タップするとメニュー画面が開くように処理を追加しました。
現状タップしてもメニュー画面が表示されません。
Main.storyboardにViewControllerが2つあります。
最初からあるもの:メニュー画面
Storyboad ID「F01_Menu」
ボタン「btnMStaff」
後から追加したもの:スタッフ一覧画面
Storyboad ID「F02_MStaff」
ボタン「btnBack」
ViewController.swift
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } // スタッフ一覧画面を開く @IBAction func btnMStaff(_ sender: Any) { // ViewControllerの準備 let next = storyboard?.instantiateViewController(withIdentifier: "F02_MStaff") // 画面遷移 self.present(next!, animated: true, completion: nil) } // メニュー画面に戻る @IBAction func btnBack(_ sender: Any) { // ViewControllerの準備 let next = storyboard?.instantiateViewController(withIdentifier: "F01_Menu") // 画面遷移 self.present(next!, animated: true, completion: nil) } }
このViewControllerは、二つの画面で共用しているのでしょうか?
Main.storyboardに2つViewControllerを置いています。
コードの話です。
2つの画面で共用しています。
最初からあるViewController.swiftに追記していっています。
共用が絶対ダメなわけではないですが、特に理由がない限り画面毎に別々のクラスを用意した方がいいです。
別々のクラスというのは、例えばスタッフ一覧画面用に新しいSwift Filiを作成するということでしょうか?
そうです。
スタッフ一覧用のクラスを作成して、それをスタッフ一覧のCustom Classに設定。
戻るボタンで
dismiss(animated:completion:)
を実行すると表示が切り替えることができました。
ありがとうございました。
回答1件
あなたの回答
tips
プレビュー