FullScreenで次のViewを表示

Extension定義

extension UIViewController {
    func presentWithFullScreen<T: UIViewController>(storyboardId: String, handler: ((T) -> Void)?){
        let vc = self.storyboard?.instantiateViewController(identifier: storyboardId) as! T
        if let wrappedHandler = handler {
            wrappedHandler(vc)
        }
        vc.modalPresentationStyle = .overFullScreen
        vc.modalTransitionStyle = .coverVertical
        self.present(vc, animated: true)
    }
}

呼び出し例

presentWithFullScreen(storyboardId: "match") { (matchView: MatchViewController) -> Void in
    let myTeam = self.myTeamPreviewView.team!
    let enemyTeam = self.enemyTeamPreviewView.team!
    matchView.teams = [myTeam, enemyTeam]
}