View
네비게이션과 모달은 둘 다 뷰 컨트롤러를 제어한다는 공통점이 있지만, 표현 방법에 있어서 차이를 보여줍니다..
네비게이션, 모달의 용어 차이
네비게이션은 스택구조로 뷰를 쌓아올려 최상위의 뷰만을 보여주는 형태입니다. 따라서 뷰를 스택에 담을때, 화면에 보여줄 때는 Push라 하고 스택에서 뺄 때, 화면에서 제거할 때는 Pop이라고 합니다. 모달은 네비게이션 바같은 다른 뷰를 보여주지 않고 화면위를 덮는 형태입니다. 화면에 뷰를 보여준다고 해서 Present라고 하고, 화면에서 내릴때는 Dismiss라고 합니다.
네비게이션은 Push-Pop, 모달은 Present-Dismiss!
네비게이션, 모달의 용도 차이
네비게이션은 주로 깊이와 흐름을 가지는 구조에서 사용됩니다. 네비게이션 바의 타이틀(이름)을 통해 현재 위치를 확인할 수 있고, 이전으로 돌아가는 버튼 또한 제공하기 때문에 선택지를 만나고 더 깊이 들어가는 설정과 같은 형태에 적합합니다.
모달은 그와 반해 화면 전체를 전환해버리기 때문에 잠깐 간략하게 정보를 전달하는 목적, 사람들이 흐름에서 잠깐 벗어나도록 하는 목적으로 사용됩니다.
아래의 스크린샷이 그에 대한 예시입니다. 물론 Popover를 모달로 보기 힘들 수 있지만, 예시를 들기에는 적절하다고 판단되어 가져왔습니다. 아래 애플리케이션은 제가 아이패드에서 사용하고 있는 GoodNotes4 앱입니다. (아주아주 유용하죠 ㅋㅋㅋ)
현재 화면의 흐름이 문서작성이라고 할 때, 상단의 옵션 버튼을 누르면 문서작성이라는 흐름에서 벗어나 설정을 할 수 있도록 옵션 뷰가 나타나고, 바깥쪽 화면이 어두워지고 비활성화 상태가 됩니다. 이것이 모달이 수행하는 역할입니다. 잠깐 사용자가 해오던 작업과는 다른 컨텐츠에 집중하는 것!
한편, 옵션 뷰 내에서는 깊이와 흐름을 가지게 됩니다. 종이에 대한 설정, 스타일러스에 대한 설정, 추가 옵션 등 설정에 대한 또 다른 흐름을 가지게 되는데, 이를 네비게이션 컨트롤러를 이용해 구현을 하면 자연스럽고 익숙한 흐름을 볼 수 있습니다. 위의 네비게이션 바를 통해 현재 구조 속에서 자신의 위치를 확인할 수도 있고, 선택지를 잘못 선택한 경우 뒤로 돌아갈 수도 있기 때문에 깊이 구조에서 유용하게 사용됩니다. 이것이 네비게이션이 수행하는 역할입니다. 흐름을 만들고, 깊이 구조에서 사용자가 길을 잃지 않게 하는 것!
이미 많은 iOS 사용자가 네비게이션과 모달을 각각의 알맞는 상황에 사용하는 것에 익숙해졌기 때문에, HIG 등의 문서에서 어떤 상황에는 어떤 기능을 사용하는 것이 좋을지를 기억해두고 적시적소에 이것들을 사용해야 사용자들이 어색함을 느끼지 않을 거라고 생각이 되네요.
제가 찾아보고 글로 정리하면서 공부한 내용이지만, 글보다는 영상과 소리로 보면서 공부하는 편이 훨씬 도움이 될 수도 있다고 생각해요. 아래의 링크는 이번 내용에 대한 iOS앱개발 강의 링크입니다. 네이버 아이디로도 이용 가능하고, 무료 강의여서 듣는다고 손해보는 것도 없을 거예요 ㅋㅋㅋㅋㅋ. 확실한건, 이전에 글로 공부하는 것보다는 흥미가 더 생기고, 같이 프로젝트를 진행하면서 앱을 만드니까 눈에 보이는 결과물도 생기기때문에 의욕이 더 나는 것 같네요. 여유가 된다면 한 번 확인해보세요!
https://www.edwith.org/boostcourse-ios/lecture/16881/
'Develop > iOS 개발' 카테고리의 다른 글
[iOS 앱 개발 - Swift] Delegation Design Pattern 간단한 예제 만들어보기 (0) | 2019.08.10 |
---|---|
[iOS 앱 개발 - Swift] 뷰의 상태변화 감지 (1) | 2019.08.08 |
siwft 공부 참고용 링크 (0) | 2019.08.04 |
[iOS 앱 개발 - Swift] 모달이 뭘까? ( Modal ) (1) | 2019.08.04 |
[iOS 앱개발 - Swift] 네비게이션 컨트롤러(드릴-다운 인터페이스) 구현해보기 (0) | 2019.08.02 |