はじめに
Storyboard:ViewController=1:1
で開発する時に画面遷移ってどうするんだろう、と思ったのでやってみました。
そこら中に記事があるので、自分用の備忘録として残しておきます。
想定は「Main.storybard」→「Sub.storyboard」の画面遷移です。
手順
1.Main.storyboard
を開いて画面遷移する用のボタンを用意する。
MainViewController.swift
import UIKit
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func tapBtn(_ sender: Any) {
// Storyboardのインスタンスを名前指定で取得する
let storyboard = UIStoryboard(name: "Sub", bundle: nil)
// Storyboard内で'is initial'に指定されているViewControllerを取得する
let nextVC = storyboard.instantiateInitialViewController() as! SubViewController
// FullScreenにする
nextVC.modalPresentationStyle = .fullScreen
// Subへ渡す値
nextVC.text = "hello" // <--- SubViewControllerのプロパティ`text`
// presentする
self.present(nextVC, animated: true, completion: nil)
}
}
2.Sub.storyboard
とSubViewController.swift
を作成する
この時、Is Initial ViewController
にチェックを入れることを忘れないように!
3.起動すれば動くはず