iOS) viewDidAppear() 에서 화면전환 코드 작성하기

less than 1 minute read

viewDidLoad() 에서 화면전환 하면 원하는 뷰 전환이 이루어지지 않았다.

스크린샷 2021-07-04 오전 12 06 32

  • view 가 다 보여지기 전에 화면전환을 하면 위와 같이 콘솔창에 찍힌다.
class SplashVC: UIViewController {
    
    // MARK: - View Life Cycle
    override func viewDidLoad() {
        super.viewDidLoad()
        // view 가 다 보여지기 전에 화면전환을 하면 위와 같이 콘솔창에 찍힌다.
        // 자연스럽게 뷰가 전환되지도 않는다.
        presentToLogin()
    }
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        // 다음과 같이 뷰가 다 나타난 후에 화면전화를 진행해야한다.
        presentToLogin()
    }
    
    // MARK: - Methods
    func presentToLogin() {
        guard let loginVC = UIStoryboard(name: Const.Storyboard.Name.Login, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Name.Login) as? UINavigationController else {
            return
        }
        loginVC.modalPresentationStyle = .fullScreen
        loginVC.modalTransitionStyle = .crossDissolve
        self.present(loginVC, animated: true, completion: nil)

    }
}

Categories:

Updated: