[iOS] 코드로 rootViewController 변경

김상우·2022년 2월 15일
0

ref : https://duwjdtn11.tistory.com/523

StoryBoard 를 사용하지 않고, OnboardingViewController.swift 에서 MainViewController.swift 로 넘어가면서 루트 뷰컨트롤러를 변경하고 싶었다.

iOS13 에서 deprecated 된 것들이 많아서 SceneDelegate 를 사용한 방법이 가장 잘 적용됐다. 이렇게 해야 window 에 접근할 수 있게 된다.


Swift 코드

let mainViewController = MainViewController()
let navigationController = UINavigationController(rootViewController: mainViewController)
let sceneDelegate = UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate
guard let delegate = sceneDelegate else {
	// 에러 알림
	showUnknownErrorAlert()
	return
}
delegate.window?.rootViewController = navigationController
profile
안녕하세요, iOS 와 알고리즘에 대한 글을 씁니다.

0개의 댓글