세그 방식으로 화면 전환을 하는 방법이 있다.
세그에도 두개의 방식이 있는데 먼저
첫번째는 버튼을 직접 연결해주는 방식이고
두번째는 뷰 컨트롤러를 연결해주는 방식이다.
@IBAction func buttonTapped(_ sender: UIButton) {
performSegue(withIdentifier: "testSegue", sender: nil)
}
present 방식은 코드로 작성하는 방식이다.
이동을 할 뷰 컨트롤러에 storyboard ID를 지정한다.
코드를 통해 이동한다.
self.storyboard의 instantiateViewController 를 통해서 스토리 보드 ID에 해당하는 뷰 컨트롤러를 가져온다.
옵셔널이기 때문에 바인딩이 필요하다.
@IBAction func buttonTapped(_ sender: UIButton) {
guard let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "secondVC") else {
return
}
self.present(secondViewController, animated: true)
}
@IBAction func buttonTapped(_ sender: UIButton) {
guard let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "secondVC") else {
return
}
self.navigationController?.pushViewController(secondViewController, animated: true)
}
사람마다 취향차이가 있겠지만 나는 segue로 이동하는 방식보다는 코드를 많이 사용하는 present나 pushViewController 를 통해서 화면을 이동하는게 좀 더 착착 감기는 느낌이다.