네비게이션 연결하다보면 특정 버튼을 누르면 첫화면으로 돌리고 싶을 경우가 많을 것이다.
계속 앞으로 쌓아 나가도 되지만 필요없는 뷰를 계속 만들 필요는 없다고 생각한다.
그래서 보통 푸쉬 팝을 사용한다.
NSLayoutConstraint.activate([
Button.topAnchor.constraint(equalTo: view.topAnchor, constant: 150),
Button.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -10),
Button.heightAnchor.constraint(equalToConstant: 30),
Button.widthAnchor.constraint(equalToConstant: 30)
])
Button.addTarget(self, action: #selector(backToMain), for: .touchUpInside)
// 버튼을 누르면 첫 화면으로 이동
@objc func backToMain() {
if let navigationController = self.navigationController {
navigationController.popToRootViewController(animated: true)
}
}
// 이건 버튼 누르면 이전꺼 삭제 ~
@objc func popView() {
self.navigationController?.popViewController(animated: true)
}
// 이건 스택 쌓아 나아가기 백버튼이 계속 생김 ~
@objc func goToSecondView() {
let secondVC = AddButtonViewController()
navigationController?.pushViewController(secondVC, animated: true)
}
이렇게 작성을 하면 첫 화면으로 돌아가고 화면은 삭제 할 수 있다 ~
그럼 첫 화면에서 다음 화면으로 넘어 갈려면 어떻게 해야할까
@objc func goToSecondView() {
let secondVC = AdmitViewController()
navigationController?.pushViewController(secondVC, animated: true)
}
이렇게 푸쉬를 해주면 된다 ~.
저 함수를 버튼에 연결해주면 되겠죠.
까먹지 말고 아자자