wift - fullScreenで画面遷移三つの方法


背景

デフォルトで画面が遷移する時、新画面は旧画面に重ねて出てきます、↓のように。
でも、時々フルで画面を出したい時もあるでしょう。以下フルで画面を出す方法を紹介します。

その一:present

以下のコードを入れて、画面一のUIボタンをクリックすれば、フルで画面を出せます。

simple.swift
    //画面一に入れたボタンのクリックイベント
    @IBAction func button(_ sender: UIButton) {
        let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ViewController2") as! ViewController2
        //この行がポイント
        vc.modalPresentationStyle = .fullScreen
        present(vc, animated: true, completion: nil)
    }

その二:segue

以下のコードを入れて、画面一のUIボタンをクリックすれば、フルで画面を出せます。

simple.swift
    //画面一に入れたボタンのクリックイベント
    @IBAction func button(_ sender: UIButton) {
        performSegue(withIdentifier: "segue", sender: nil)
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "segue" {
            if let vc = segue.destination as? ViewController2 {
                //この行がポイント
                vc.modalPresentationStyle = .fullScreen
            }
        }
    }

其の三:Storyboard

だしたい画面のStoryboardのViewControllerにPresentaion項目があります。それをFull Screenに変更すれば、フルで画面を出せます。

終わりに

他にsegueのID、storyboardIDの設定、viewController2ファイルの作成なども必要ですが、ここでは割愛いたします。