App architecture - Modality

E_H·2021년 4월 3일
0

Modality

Modality는 사용자의 이전문맥과 별개로 컨텐츠를 임시로 보여주는 설계기법이며 종료하려면 명시적 작업이 필요하다

컨텐츠를 모달방식으로 나타나며 다음과 같이 보여질수있다.

  • 사용자가 자체 테스크 또는 밀접하게 관련된 옵션들을 집중할수 있게 도와준다

  • 사용자가 중요한 정보를 수신하고 필요하다면 행동하는 것을 보장한다
    image.png

iOS는 앱내 특정 상황에서 Alert, Activity views ( or Action sheet ), 그리고 Action sheets로 제공된다

iOS13 이상에서는 커스텀 모달 컨텐츠를 보여줄수있도록 presentation style을 지원한다

sheet

sheet presentation 스타일은 기본내용은 부분적으로 커버하고 미공개 영역과 상호작용하는 것을 방지하기위해 어둡게 처리된 카드로 나타낸다

부모뷰의 위쪽 가장자리 또는 이전 카드는 현재 카드 뒤에 보이는데 이것은 사용자들이 현재 카드를 열었을때 이전 작업을 기억할수있게 해준다

다음과같은 방식으로 카드를 해체할수있다

  • 화면 상단에서 아래로 swipe
  • 카드컨텐츠가 맨위로 스크롤될때 화면의 아무곳이나 아래로 swipe
  • 버튼 탭하기

복잡한 작업을 하지 않도록 하는 (컴퓨터 시스템이 사용자를) 에워싸지 않는 듯한 모달 콘텐츠에 sheet를 사용하세요.

fullscreen

full screen presentation style은 전체화면을 커버한다.

이전화면은 완전히 가려 시각적 산만함을 최소화한다.

사용자는 버튼을 탭하여 full screen modal을 해제할수있다.

full screen modal을 사용하면 Videos나 Photos or CameraViews같은 몰입감있는 컨텐츠 또는 사진편집이나 문서를 만드는것과 같은 복잡한 작업에 이점을 제공한다.

[Note]
current context 모달 뷰 스타일을 사용하여 분할 보기 창, 팝업 또는 전체 화면이 아닌 다른 보기 내에서 모달 콘텐츠를 보여주고 있는 경우, 콤팩트한 환경에서 모달 콘텐츠를 표기할 때 sheet를 사용하는 것으로 바꿔야 합니다.

이해가 될때 모달을 사용하라

사용자들이 현재 작업과 다른 작업을 실행하거나 사용자의 주의를 집중시키는 것이 중요할 때 모달 경험을 생성하자.

모달 경험은 사용자에게 현재 상황을 벗어나고 무시하는 행동을 요구하므로, 모달이 명확한 유익을 제공하는 경우에만 사용해야 한다.

필수적이고 이상적으로 실행가능한 정보룰 전달하기 위해 알림을 예약하자

일반적으로 알림은 어떤문제때문에 나타난다.

경험을 중단시킬수 있기 때문에 탭하여 해제할수있어야한다.

그것은 사람들에게 침입이 정당하고 느끼게 해준다.

자세한 내용은 Alert을 참고하세요.

모든작업은 짧고 간단하고 간신히 진행되어야한다.

앱안에 앱을 만드는것은 피하자

모달작업이 복잡하다면 모달 컨텍스트에 들어갈때 일시 중단한 작업을 볼 수없다.

사람들이 길을 잃고 되돌리는 방법을 잊어버릴수 있기 때문에 계층구조를 포함하는 모달작업을 만드는것을 주의하라.

모달작업이 하위뷰에 포함되는 경우 계층을 통과하는 단일경로와 완료경로를 지정하자.

작업이 완료되기전에 다른 어떤것을 한다면 완료버튼을 사용하는것을 피하자.

모달뷰를 해제할 수있는 버튼을 항상 구현해야한다.

예를들어 당신은 완료와 취소버튼을 만들어 사용할수있다.

버튼을 포함하면 보조의 기술에서 모달뷰에 접근할수있으며
그만두는 행동에 대한 대안이 된다.

필요한경우 모달뷰를 닫기전에 사람들이 확인할수있게 하여 데이터손실을 피하게 만들수있다.

사용자가 보기를 닫을때 버튼을 사용하던 제스처를 사용하던 관계없이 사용자가 생성한 내용이 손실될 수있는 작업을 수행할 경우

action sheet로 상황을 설명하고 그들에게 해결할 방법을 제시해줄수있다.

팝업화면위에 나타나는 카드를 표시하지않는다.

팝업내에 카드를 표시할수있지만 팝업 맨위에는 아무것도 없어야 한다. ( 알림제외)

드문경우이지만 사용자가 팝업창에서 작업을 수행하고 카드 보여주는것이 필요할때 카드를 표시하기전에 팝업을 닫을수있다.

일반적으로 모달작업을 식별하는 타이틀을 표시하자.

사람들이 모달작업을 입력하면 이전 컨텍스트에서 벗어나기때문에 새로운 컨텍스트를 명확히 표시하는 것이 좋다.

또한 작업을 완벽하게 설명하거나 지침을 제공하는것보다 텍스트를 뷰의 다른부분으로 제공해줄수있다.

모달뷰의 모양을 조정할수있다.

예를들어 모달뷰가 네이게이션바를 포함할때

앱에서 네이게이션바와 동시에 나타나게해줄수있다.

앱에 따라 모달 Transition style을 선택할수있다

앱에맞는 화면 변경스타일을 사용하고 일시적으로 환경이 변화해도 사용자가 인지할수있도록 도와주자.

모달의 기본스타일은 아래에서 위로 슬라이드되고 취소되었을때 다시 돌아가는 것이다.

앱 전체적으로 일관된 모달 화면변경스타일을 사용하라.

자세한 개발지침은 다음 문서를 확인하세요
UIViewController, UIPresentationController

0개의 댓글