📱

【iPhone】【Swift】モーダルを表示するサンプルコード

2024/02/12に公開

モーダルを表示するサンプルコード

FirstController.swift
    @IBAction func showModal(_ sender: Any) {
        let secondViewController = SecondViewController()
        let nav = UINavigationController(rootViewController: secondViewController)
        nav.modalPresentationStyle = .fullScreen

        self.present(nav,animated: true)
    }

modalPresentationStyleを変更することで表示方法の切り替えが可能。

/* modalPresentationStyle */
automatic // デフォルトの表示スタイル
none // 改変禁止
fullScreen // フルスクリーン
pageSheet // 基礎となるコンテンツを部分的にカバースタイル
formSheet // 画面の中央にコンテンツを表示するスタイル
currentContext // コンテンツが別のビュ コントローラーのコンテンツの上に表示されるスタイル
custom // カスタムスタイル
overFullScreen // 提示されたビューが画面を覆うスタイル
overCurrentContext // コンテンツが別のビュー コントローラーのコンテンツの上に表示されるプレゼンテーション スタイル
popover // ポップオーバースタイル
blurOverFullScreen // フルスクリーン 新しいコンテンツを表示する前に、下にあるコンテンツをぼかす
}

モーダルを閉じるサンプルコード

SecondController.swift
    @IBAction func closeModal(_ sender: Any) {
        self.dismiss(animated: true,completion: nil)
    }

Discussion