Navigation과의 사투

Navigation Controller


1. Navigation으로 만들기

메인화면에서 설정화면에 들어간 후 다시 쉽게 나오고 설정을 완료하는 버튼을 넣기 위해 Navigation을 사용하는게 용이할 것 같았다.

메인화면의 Navigation Bar에는 설정버튼과 리셋버튼을 두고 설정화면에는 '완료' 버튼을 만들었다.

2. Navigation 문제

설정화면에서 돌아오기엔 용이했지만 예상치 못한 문제가 있었다.

버튼방식에 카운터 모드로 변경하면 버튼이 있는 View로 segue로 화면전환을 했는데 Navigation으로 설정 화면 위에 push 됐다.

navigationController?.setNavigationBarHidden(false, animated: true)

Navigation bar를 안보이게 할 수는 있었지만 뒤로 이동하면 다시 설정 화면으로 돌아가는거라 문제였다.

Navigation을 사용하지 않고 없애고 설정 화면을 Tool Bar로 따로 구성하려 했는데
staic table은 UITableController에서만 가능하다고 해서 다시 되돌렸다..

3. 다른 화면 전환 방식 With Protocol

버튼 방식 화면으로 이동하는 방식을 일단 메인화면으로 돌아간 후 버튼 화면으로 performSegue로 이동하는 방식으로 변경해봤다.

프로토콜로 설정 화면에서 해결하려 했는데 결국 메인화면으로 왔다가 다시 버늩화면으로 넘어가는게 왔다 갔다 복잡해보여서 이 방식도 포기했다...

4. 설정에서 바로 넘어가기

아무래도 버튼 방식을 선택하면 설정화면에서 바로 넘어가는게 좋겠다.

설정 화면을 지우고 버튼화면으로 이동했는데 애니메이션이 복잡해서 바로 루트 네비게이션(메인화면-설정화면)을 지우도록 했다.

 self.navigationController?.popToRootViewController(animated: true)


왔다 갔다 복잡하게 몇 번을 시도했는지 모르겠다..😂

더 이상 바꾸는 일 없기를..!

좋은 웹페이지 즐겨찾기