Skip to content

Latest commit

 

History

History
110 lines (59 loc) · 10.5 KB

2-4.Modality.md

File metadata and controls

110 lines (59 loc) · 10.5 KB

Modality

Modality is a design technique that presents content in a temporary mode that requires an explicit action to exit. Presenting content modally can:

  • Help people focus on a self-contained task or set of closely related options

  • Ensure that people receive critical information and, if necessary, act on it

모달은 사용자의 현재 화면과 분리된 모드에서 임시로 내용을 보여주는 디자인 기술로, 이를 종료하기 위해서는 분명한 동작을 요구합니다. 내용을 모달로 보여주면 다음과 같은 효과를 얻을 수 있습니다.

  • 사용자가 독립적인 임무나 서로 가깝게 연관된 옵션들에 집중할 수 있게 합니다.

  • 사용자가 중요한 정보를 수신하고, 필요한 경우 바로 동작하도록 할 수 있게 합니다.


Ex. Alert / Modal view


To enable various system-defined modal experiences, iOS provides alerts, activity views, share sheets, and action sheets. To present custom modal content in your app, you can use one of the following presentation styles.

iOS는 앱 내 특정 상황에 사용할 수 있도록 경고창, 활동 뷰, 공유 시트 및 액션 시트를 제공합니다. 앱에서 사용자 지정 모달 콘텐츠를 표시하려면 다음 프레젠테이션 스타일 중 하나를 사용할 수 있습니다.

  • Automatic. Uses the default presentation style, typically a sheet.

  • Fullscreen. Covers the previous view, and requires a button for dismissal. Popover. Presents a popover in a horizontally regular environment and a sheet in compact environments.

  • Page sheet and form sheet. Partially covers the previous view; for guidance, see Sheets.

  • Current context. Covers a particular previous view.

  • Custom. Uses custom animation to present content in a custom container.

For developer guidance, see UIModalPresentationStyle.

NOTE

If you use the current context modal view style to display modal content within a split view pane, popover, or other view that isn’t fullscreen, switch to using a sheet when presenting modal content in a compact environment.

자동. 기본 프레젠테이션 스타일(일반적으로 시트)을 사용합니다.

전체화면. 이전 뷰를 덮고 닫기 버튼을 필요로 합니다.

팝오버. 수평으로 규칙적인 환경에서는 팝오버를 제공하고, 컴팩트한 환경에서는 시트를 제공합니다.

페이지 시트 및 폼 시트. 이전 뷰를 부분적으로 가립니다. 가이드는 다음 문서를 참고하세요.

현재 컨텍스트. 특정 이전 뷰를 가립니다.

커스텀. 커스텀 애니메이션을 사용하여 사용자 정의 컨테이너에 콘텐츠를 표시합니다.

개발자 가이드는 UIModal Presentation Style을 참고하세요.

주의

현재 컨텍스트 모달 뷰 스타일을 사용하여 분할 보기 창, 팝오버 혹은 전체화면이 아닌 기타 보기 내에서 모달 콘텐츠를 표시할 때 시트를 사용하도록 전환합니다.


  • Use modality when it makes sense. Create a modal experience only when it’s critical to focus people’s attention on making a choice or performing a task that’s different from their current task. A modal experience takes people out of their current context and requires an action to dismiss, so it’s essential to use it only when it provides a clear benefit.

  • Reserve alerts for delivering essential — and ideally actionable — information. Typically, an alert appears because something has gone wrong. Because an alert interrupts the current experience and requires a tap to dismiss, it’s important for people to feel that the intrusion is warranted. For guidance, see Alerts.

  • In general, keep modal tasks simple, short, and narrowly focused. If a modal task is too complicated, people can lose sight of the task they suspended when they entered the modal context. Take care to avoid creating a modal experience that feels like an app within your app. In particular, be wary of presenting a hierarchy of views within a modal task, because people can forget how to retrace their steps to their original task. If a modal task must contain subviews, provide a single path through the hierarchy and a clear path to completion. Avoid using a Done button for anything other than completing the task.

  • Consider using a fullscreen modal style for immersive content or a complex task. A fullscreen modal experience minimizes distractions, so it can work well for presenting videos, photos, or camera views, or to enable a multistep task like marking up a document or editing a photo.

  • Always include a button that dismisses the modal view. For example, you might use Done or Cancel. Including a button ensures that the modal view is accessible to assistive technologies and provides an alternative to dismissal gestures.

  • When necessary, help people avoid data loss by getting confirmation before closing a modal view. Regardless of whether people use a dismiss gesture or a button to close the view, if the action could result in the loss of user-generated content, present an action sheet that explains the situation and gives people ways to resolve it.

  • Make it easy to identify a modal view’s task. When people enter a modal view, they switch away from their previous context and might not return to it right away. When you provide a title that names the modal view’s task — or additional text that describes the task or provides guidance — you can help people keep their place in your app.

  • Coordinate the modal view’s appearance with your app. For example, when a modal view includes a navigation bar, it should use the same appearance as the navigation bar in your app.

  • Choose a modal transition style that makes sense in your app. Use a transition style that coordinates with your app and enhances the awareness of the temporary context shift. The default transition vertically slides the modal view up from the bottom of the screen and back down when it’s dismissed. Use consistent modal transition styles throughout your app.

For developer guidance, see UIViewController and UIPresentationController.

  • 맥락에 맞는 모달을 사용하세요. 현재 작업과 다른 작업을 선택하거나 수행하는데 사람들의 주의를 집중시키는 것이 중요한 경우에만 모달 환경을 만듭니다. 모달 경험은 현재 맥락에서 벗어나게 하며, 닫기 위한 동작을 필요로 합니다. 즉, 명확한 이점을 제공하는 경우에만 사용하는 것이 중요합니다.

  • 중요하고 이상적으로 실행 가능한 정보를 전달하기 위해 경고를 예약해두세요. 일반적으로 무언가가 잘못되었을 때 경고가 나타납니다. 경고 알람은 현재 경험을 중단시키며 닫기 위해 탭을 요구하므로, 사용자로 하여금 그 방해가 정당한 것임을 느끼게 하는 것이 중요합니다. 자세한 내용은 Alerts에서 가이드를 확인하세요.

  • 일반적으로 모달 작업은 단순하고 짧으며 좁은 범위로 집중해야 합니다. 모달에서 수행하는 작업이 너무 복잡하면, 사용자는 모달 내용을 접했을 때 이전 작업이 무엇이었는지 혼란을 느낄 수 있습니다. 특히 위계가 있는 화면을 포함시키지 않도록 주의하세요. 사용자들은 길을 잃고 이전의 단계를 다시 밟아나갈 수 있기 때문입니다. 만약 모달에서 수행하는 일이 여러 화면을 포함한다면, 위계를 따라 하나의 길만 만들고, 완수하기 위해 명확한 길을 제공하세요. 태스크 완료 이외의 작업에는 완료(Done) 버튼을 사용하지 않도록 하세요.

  • 몰입형 콘텐츠 또는 복잡한 작업에 전체 화면 모달 스타일을 사용하는 것을 고려해 보십시오. 풀 스크린 모달 경험은 산만함을 최소화하므로 비디오, 사진 혹은 카메라 뷰를 표시하거나 문서 표시 또는 사진 편집과 같은 다단계 작업을 수행할 수 있습니다.

  • 항상 모달 뷰를 닫을 수 있는 버튼을 포함하세요. 예를 들어, Done(완료)나 Cancel(취소)버튼을 사용할 수 있습니다. 버튼을 포함하면 모달 화면이 보조 기술을 사용하기 쉽고 화면 닫기 제스처에 대한 대안을 제공할 수 있습니다.

  • 필요할 경우 모달 뷰를 닫기 전 사용자에게 확인을 받아 데이터 손실을 방지할 수 있습니다. 사용자가 화면을 닫기 위해 무시 제스처를 사용하든 버튼을 누르든 상관없이 그 행동이 사용자가 만든 내용을 손실시킬 수 있다면, 상황을 설명하고 작업 시트을 제시하여 사용자들이 해결할 수 있도록 하세요.

  • 모달 뷰의 작업을 쉽게 식별할 수 있도록 하십시오. 사람들은 모달 뷰에 들어가면 이전 컨텍스트에서 벗어나 바로 되돌아가지 않을 수 있습니다. 모달 뷰의 태스크 이름을 지정하는 제목 혹은 태스크를 설명하거나 안내를 제공하는 추가 텍스트를 제공하면 사용자가 앱에서 자신의 위치를 유지할 수 있습니다.

  • 모달 뷰의 모양을 앱으로 조정합니다. 예를 들어, 모달 뷰에 탐색 막대가 포함된 경우 앱의 탐색 막대와 동일한 모양을 사용해야 합니다.

  • 당신의 앱과 적합한 모달 전환 스타일을 선택하세요. 앱으로 조정하고 임시 컨텍스트 전환에 대한 인식을 향상시키는 전환 스타일을 사용합니다. 기본 전환은 모달 뷰를 화면 아래쪽에서 위로 수직으로 밀어 올렸다가 해제되면 뒤로 내립니다. 앱 전체에서 일관된 모달 전환 스타일을 사용합니다.

개발자의 가이드라인은 UIViewController 과 UIPresentationController 에서 확인하세요.


애플 공식 문서

https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/modality/