본문 바로가기

개발 코딩 정보 공유/애플 iOS 스위프트 Xcode

IOS NavigationContorller를 활용한 화면 이동 방법

 

 

 

 

 

 

 

안녕하세요.

김과자 입니다.

오늘은 NavigationController를 활용해서 화면을 이동해보겠습니다.

정말 간단합니다.

역시나 ^^버튼을 하나 만들구요.

 

 

 

스토리 보드상에 NavigationController 를 만들어 줍니다.

 

 

자 그리고 나서 연결해줍니다. 어떻게요?

버튼을 선택하고 오른쪽 버튼으로 쭈욱 도작화면(NavigationController) 까지 내려놓겠습니다.

 

 

지난편에서 보던 화면이죠? segue를 설정해 줍니다. 이동 화면을 구성하는 방법은 5가지가 있네요.

자 그리고 여기가 중요합니다. NavigationController는 빈깡통? 이구요.

여기에 화면을 붙혀 줄께요.

 

 

 

커스텀 클래스 지정 해주시구요.

class NaviViewController1: UIViewController {
    var delegate: UIViewController?
    var sendData: Int = 0
    
    override func viewWillAppear(_ animated: Bool) {
        print("========\(sendData)========")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    
    override func viewWillDisappear(_ animated: Bool) {
        if let _ = delegate{
            (delegate as! ViewController).onReceiveMsg(msg: "받아라~")
        }
    }
    
    @IBAction func onPushViewController(_ sender: Any) {
        let pushVC = self.storyboard?.instantiateViewController(withIdentifier: "NaviViewController2")
        self.navigationController?.pushViewController(pushVC!, animated: true)
    }
    
    
    
}

onPushViewController는 신경쓰지마세요. 이따 설명하겠습니다.

ViewController만드시구요. 오른쪽 버튼 으로 쭉 드래그 하시면...

자 여기서 Relationship Segue 보이시죠?

root view controller 를 선택해 줍니다.

쉽게 말해 빈 깡통 화면에 의미있는 화면1을 연결해준다고 생각하시면 됩니다.

그리고 나서 하나 더 해볼께요.

 

 

 

 

 

버튼을 하나 만드시구요. 함수 연결 해주겠습니다.

@IBAction func onPushViewController(_ sender: Any) {
        let pushVC = self.storyboard?.instantiateViewController(withIdentifier: "NaviViewController2")
        self.navigationController?.pushViewController(pushVC!, animated: true)
    }

 

잘 연결 되었죠. 그리고 나서 viewcontroller를 가져오구요. navigationController를 이용해 viewController를 push 하면 됩니다.

그럼 어떻게 될까요.

 

 

 

바로 이렇게 이전 화면과의 계층 구조를 가지게 됩니다. back 버튼을 누르면 당연히 이전 화면으로 돌아갑니다.

이렇게 navigationController를 활용한 방법도 알아보았습니다.

시간을 내서 ViewController와 NavigationController의 구조에대해서 다음번에 소개 해드리겠습니다.

 

끝!

 


 

참고

https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/PresentingaViewController.html#//apple_ref/doc/uid/TP40007457-CH14-SW1