[iOS] 스토리보드 화면 전환 총정리‼️
iOS

[iOS] 스토리보드 화면 전환 총정리‼️

728x90

스토리보드에서 화면 전환하는 법

스토리보드 상에서 뷰컨트롤러 간 화면 전환하는 방법을 소개하겠습니다.

 

⭐️ UI 구성 ⬇️

Main.storyboard
NewStoryboard.storyboard

 

📌 초기 설정

더보기

✔️ 루트 뷰 컨트롤러 설정

- 내비게이션 컨트롤러에서 드래그 앤 드랍을 통해 rootViewcontroller를 설정

 

✔️ show segue

- 버튼 드래그 앤 드랍을 통해 자식 뷰 컨트롤러와 show로 연결

 

1. 내비게이션 컨트롤러를 이용한 화면 전환

- 버튼 드래그 앤 드랍을 통해 자식 뷰 컨트롤러와 show로 연결

- 내비게이션 뒤로가기 버튼

    // MARK: 내비게이션 컨트롤러를 이용한 뒤로가기
    @IBAction func navigationPopButtonTouchUpInside(_ sender: Any) {
        self.navigationController?.popViewController(animated: true)
    }

 

2. RootViewController로 이동

    // MARK: RootViewController로 이동
    @IBAction func changeRootViewControllerButtonTouchUpInside(_ sender: Any) {
        self.navigationController?.popToRootViewController(animated: true)
    }

 

3. 화면 일부/전체를 덮는 modal

- 버튼 드래그 앤 드랍을 통해 자식 뷰 컨트롤러와 present Modailly로 연결

 

 

- modal 내리기

    // MARK: modal 내리기
    @IBAction func dismissModalButtonTouchUpInside(_ sender: Any) {
        self.dismiss(animated: true, completion: nil)
    }

 

4. 새로운 window로 화면 전환

    // MARK: UIWindow의 rootViewController를 변경하여 화면전환
    func changeRootViewController(_ viewControllerToPresent: UIViewController) {
        if let window = UIApplication.shared.windows.first {
            window.rootViewController = viewControllerToPresent
            UIView.transition(with: window, duration: 0.5, options: .transitionCrossDissolve, animations: nil)
        } else {
            viewControllerToPresent.modalPresentationStyle = .overFullScreen
            self.present(viewControllerToPresent, animated: true, completion: nil)
        }
    }
       
    // MARK: 새로운 window로 화면전환
    @IBAction func changeWindowButtonTocuhUpInside(_ sender: Any) {
        let newStoryboard = UIStoryboard(name: "NewStoryboard", bundle: nil)
        let newViewController = newStoryboard.instantiateViewController(identifier: "NewViewController")
        self.changeRootViewController(newViewController)
    }

 

실행 영상

 

728x90