#背景
デフォルトで画面が遷移する時、新画面は旧画面に重ねて出てきます、↓のように。
でも、時々フルで画面を出したい時もあるでしょう。以下フルで画面を出す方法を紹介します。
#その一: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ファイルの作成なども必要ですが、ここでは割愛いたします。