[iOS] 화면 전환에 대하여

안녕하세요!

오늘은 iOS의 화면 전환에 대해 살펴보려고 합니다.

 

화면 전환의 필요성

앱을 개발할 때, 화면 전환이 왜 필요할까요?

생각해봅시다! 작은 휴대폰 화면에서 사용자가 한 번에 볼 수 있는 부분은 한정되어 있습니다.

 

설정 화면의 일반 탭을 들어가 봅시다.

아이폰의 기기 정보에 관한 것, 키보드에 관한 것, 저장공간에 관한 것 등 여러 주제로 카테고리화 된 제목들이 나타납니다.

만약 이 탭 안의 정보들이 카테고리별로 나누어져있지 않고 모두 한 화면에 나열되어 있다면 어떨까요?

설정하기를 원하는 부분을 찾는데 굉장히 오랜 시간이 걸릴 것 같네요.

 

이처럼 제한된 스크린 크기 내에서 적절한 정보를 제공하기 위해 화면 전환은 매우 중요한 역할을 합니다.

 

 

화면 전환 방식

애플에서는 주로 지정된 기본적인 화면 전환 방식들이 있는데요,

어떤 구조를 이루는지에 따라 방식을 달리 표현하도록 합니다.

 

 

예를 들어, 설정 앱의 키보드를 클릭하면

키보드에 관련한 세부 설정들이 들어있는 키보드 상세 페이지가 오른쪽에서 왼쪽으로 화면을 덮으며 나타납니다.

이처럼 상세 정보를 표현할 때에는 오른쪽에서 화면이 나오는 Push (거꾸로 돌아갈 때는 Pop) 방식을 이용합니다. 

 

이번에는 알람 앱에 들어가봅시다.

새로운 알람을 추가할 때, 화면은 아래에서 위로 올라옵니다. 

이처럼 기존과 다른 정보를 표현할 때에는 아래에서 위로 화면이 나오는 방식을 이용합니다.

 

이외에도 팝업 등 다양한 전환 방식이 있으며, 정보의 구조에 따라 방식을 다르게 사용할 수 있습니다.

 

 

화면 전환 개발 방법

- 인터페이스 빌더를 사용하는 방법

인터페이스 빌더를 사용하면 방향을 짐작할 수 있고 코드가 필요 없다는 장점이 있습니다. 하지만 세부적인 대응은 불가능할 것 같아요.

 

- 코드로 구현하는 방법

코드로 구현하면 방향을 짐작하기 어렵지만, 코드를 통해 세부적 대응이나 콘텐츠 표현이 용이하다는 점이 장점으로 작용하겠습니다.

 

 

Show vs. Modal

앞서 설명했던 '오른쪽 -> 왼쪽'이나 '아래 -> 위' 방법은 Show와 Modal이라고 부릅니다.

 

- Show : 오른쪽에서 등장하는 방법

Navigation Controller를 사용해 구현합니다. Push-Pop이라고도 부릅니다.

 

- Modal : 아래에서 등장하는 방법

Present - Dismiss, segue - unwind라고 부릅니다.

 

 

 

화면 전환은 iOS 개발에 있어서 아주 기본적인 지식인 만큼 자세하게 짚고 넘어가면 좋을 것 같아 정리해보았습니다!

틀린 부분이나 추가할 사항이 있다면 자유롭게 댓글로 알려주세요~

 

 

 

 

 

 

 

 

새싹 2기 과정 수업을 들으며 배우고 이해한 내용을 작성합니다.