A sheet helps people perform a scoped task that’s closely related to their current context.
시트는 사용자가 현재 상황과 밀접하게 관련된 범위가 정해진 작업을 수행하는 데 도움을 줍니다.
By default, a sheet is modal, presenting a targeted experience that prevents people from interacting with the parent view until they dismiss the sheet (for more on modal presentation, see Modality). A modal sheet is useful for requesting specific information from people or presenting a simple task that they can complete before returning to the parent view. For example, a sheet might let people supply information needed to complete an action, such as attaching a file, choosing the location for a move or save, or specifying the format for a selection.
기본적으로 시트(sheet)는 모달이며 사람들이 시트(sheet)를 해지할 때까지 부모(parent) 뷰와 상호 작용하지 못하도록 집중된 경험을 제공합니다 (모달 프리젠테이션에 대한 자세한 내용은 Modality를 참고하세요). 모달 시트(sheet)는 사람들에게 특정 정보를 요청하거나 부모(parent) 뷰로 돌아가기 전에 완료할 수 있는 간단한 태스크를 실행할 때 유용합니다. 예를 들어 시트(sheet)는 사람들이 파일 첨부, 이동 또는 저장 위치 선택, 선택 형식 지정과 같은 작업을 완료하기 위해 필요한 정보를 제공할 수 있습니다.
→ 시트(sheet)는 모달 방식으로 설정되어 있어, 사용자가 시트를 닫기 전까지는 부모 뷰와의 상호 작용을 방지하면서 특정 정보를 요청하거나 간단한 작업을 수행할 수 있는 집중된 환경을 제공한다.
In macOS, visionOS, and watchOS, a sheet is always modal, but in iOS and iPadOS, a sheet can also be nonmodal. When a nonmodal sheet is onscreen, people use its functionality to directly affect the current task in the parent view without dismissing the sheet. For example, Notes on iPhone and iPad uses a nonmodal sheet to help people apply different formatting to various text selections as they edit a note.
macOS나 watchOS에서 시트(sheet)는 항상 모달이지만 iOS나 iPadOS에서는 모달이 아닐 수도 있습니다. 비모달 시트가 화면에 나타나면 사용자는 해당 기능을 사용하여 시트(sheet)를 해지하지 않고 부모(parent) 뷰의 현재 작업에 직접 영향을 줍니다. 예를 들어 iPhone 및 iPad의 Notes는 비모달 시트(sheet)를 사용하여 사람들이 메모를 편집할 때 다양한 텍스트 선택에 다른 형식을 적용할 수 있습니다.
→ macOS, visionOS, 그리고 watchOS에서 시트는 항상 모달 방식이지만, iOS와 iPadOS에서는 시트가 모달이 아닐 수도 있으며, 비모달 시트가 화면에 나타날 때 사용자는 시트를 닫지 않고도 부모 뷰의 현재 작업에 직접 영향을 줄 수 있습니다.
역자 첨언
The Notes format sheet lets people apply formatting to selected text in the editing view.
Notes 형식 시트(sheet)를 사용하여 편집 화면에서 선택한 텍스트에 형식을 적용할 수 있습니다.
Because the sheet is nonmodal, people can make additional text selections without dismissing the sheet.
시트(sheet)가 비모달이기 때문에 사람들은 시트(sheet)를 닫지 않고 추가 텍스트를 선택할 수 있습니다.
Use a sheet to present simple content or tasks. A sheet allows some of the parent view to remain visible, helping people retain their original context as they interact with the sheet.
시트를 사용하여 간단한 내용이나 작업을 제공하세요. 시트(sheet)는 부모(parent) 뷰의 일부를 볼 수 있어 사용자가 시트와 상호 작용하면서 원래의 맥락을 유지할 수 있도록 도와줍니다.
For complex or prolonged user flows, consider alternatives to sheets. For example, iOS and iPadOS offer a full-screen style of modal view that can work well to display content like videos, photos, or camera views or to help people perform multistep tasks like document or photo editing. (For developer guidance, see UIModalPresentationStyle.fullScreen.) In a macOS experience, you might want to open a new window or let people enter full-screen mode instead of using a sheet. For example, a self-contained task like editing a document tends to work well in a separate window, whereas going full screen can help people view media. In visionOS, you can give people a way to transition your app to a Full Space where they can dive into content or a task; for guidance, see Immersive experiences.
복잡하거나 긴 사용자 흐름에는 시트 대신 다른 방법을 고려하세요. 예를 들어 iOS 및 iPadOS는 동영상, 사진 또는 카메라 뷰와 같은 몰입형 콘텐츠 또는 문서나 사진 편집과 같은 다단계 작업을 표시하는데 적합한 전체 화면 스타일의 모달 뷰를 제공합니다. (개발자 지침은 UIModalPresentationStyle.fullScreen을 참고하세요.) macOS에서는 시트를 사용하는 대신 새 창을 열거나 전체 화면 모드로 전환하는 것이 좋을 수 있습니다. 예를 들어, 문서 편집과 같은 독립적인 작업은 별도의 창에서 잘 작동하는 반면, 미디어를 보는 데는 전체 화면 모드 (going full screen) 가 도움이 될 수 있습니다. visionOS에서는 앱을 Full Space로 전환하여 사용자가 콘텐츠나 작업에 더 깊이 몰입할 수 있는 방법(Immersive experiences)을 제공하세요.
→ 복잡하거나 긴 사용자 흐름을 위해서는 시트 대신 다른 옵션을 고려해야 한다.
Display only one sheet at a time from the main interface. When people close a sheet, they expect to return to the parent view or window. If closing a sheet takes people back to another sheet, they can lose track of where they are in your app. If something people do within a sheet results in another sheet appearing, close the first sheet before displaying the new one. If necessary, you can display the first sheet again after people dismiss the second one.
메인 인터페이스에서 한번에 하나의 시트(sheet)만 표시합니다. 사람들이 시트(sheet)를 닫을 때는 부모(parent) 뷰나 창으로 돌아가기를 예상합니다. 만약 시트(sheet)를 닫을 때 다른 시트(sheet)로 돌아간다면 사람들은 앱에서 어느 위치에 있는지 잊어버릴 수 있습니다. 만약 시트(sheet) 내에서 수행한 작업으로 인해 다른 시트(sheet)가 나타나는 경우 새로운 시트(sheet)를 표시하기 전에 첫 번째 시트(sheet)를 닫으세요. 필요하다면 두 번째 시트(sheet)를 닫은 후 첫 번째 시트(sheet)를 다시 표시할 수도 있습니다.
Use a nonmodal view when you want to present supplementary items that affect the main task in the parent view. To give people access to information and actions they need while continuing to interact with the main window, consider using a split view in visionOS or a panel in macOS; in iOS and iPadOS, you can use a nonmodal sheet for this workflow. For guidance, see iOS, iPadOS.
부모 뷰의 주요 작업에 영향을 미치는 보조 항목을 제시하고 싶을 때는 모달이 아닌 뷰를 사용하세요. 사람들이 주 창과의 상호작용을 계속하면서 필요한 정보와 작업에 접근할 수 있도록, visionOS에서는 분할 뷰나 macOS에서는 패널을 사용하는 것을 고려하세요; iOS와 iPadOS에서는 이 워크플로우에 비모달 시트를 사용할 수 있습니다. 지침은 iOS, iPadOS를 참조하세요.
No additional considerations for tvOS.
tvOS에 관련된 추가 고려사항은 없습니다.
A resizable sheet expands when people scroll its contents or drag the grabber, which is a small horizontal indicator that can appear at the top edge of a sheet. Sheets resize according to their detents, which are particular heights at which a sheet naturally rests. Designed for iPhone, detents specify particular heights at which a sheet naturally rests. The system defines two detents: large is the height of a fully expanded sheet and medium is about half of the fully expanded height.
크기를 조정할 수 있는 시트(sheet)는 사용자가 콘텐츠를 스크롤하거나 그래버(grabber)를 드래그하면 확장됩니다. 그래버(grabber)는 시트(sheet)의 맨 상단에 표시되는 작은 수평 인디케이터입니다. 시트(sheet)는 디텐트(detents)에 따라 크기가 조정됩니다. 디텐트(detents)는 시트가 자연스럽게 놓이는 특정 높이입니다. iPhone용으로 디자인된 디텐트(detents)는 시트가 자연스럽게 놓이는 특정 높이를 명시합니다. 시스템에는 두 개의 디텐트(detents)가 정의됩니다. 라지(large)는 완전히 확장된 시트(sheet)의 높이이고, 미디엄(medium)은 완전히 확장된 높이의 절반입니다.
→ 사용자가 콘텐츠를 스크롤하거나 상단 가장자리에 나타날 수 있는 작은 가로 인디케이터인 그래버(grabber)를 드래그할 때 크기를 조절할 수 있는 시트는 확장되며, 시트는 '디텐트(detents)'라고 불리는 특정 높이에 따라 크기가 조정되는데, 이는 시트가 자연스럽게 머무르는 특정 높이를 지정힌다.
Large detent
Medium detent
Sheets automatically support the large detent. Adding the medium detent allows the sheet to rest at both heights, whereas specifying only medium prevents the sheet from expanding to full height. For developer guidance, see detents.
시트(sheet)는 자동으로 라지 디텐트(large detents)를 지원합니다. 미디엄 디텐트(medium detents)를 추가하면 두 가지 높이가 모두 적용되지만 미디엄만 지정한다면 전체 높이로 확장되지 않습니다. 개발자 지침은 detents를 참고하세요.
In an iPhone app, consider supporting the medium detent to allow progressive disclosure of the sheet’s content. For example, a share sheet displays the most relevant items within the medium detent, where they’re visible without resizing. To view more items, people can scroll or expand the sheet. In contrast, you might not want to support the medium detent if a sheet’s content is more useful when it displays at full height. For example, the compose sheets in Messages and Mail display only at full height to give people enough room to create content.
iPhone 앱에서는 시트(sheet)의 콘텐츠를 단계적으로 공개할 수 있도록 미디엄 디텐트(medium detents)를 제공하는 것을 고려해보세요. 예를 들어 공유 시트는 미디엄 디텐트(medium detents) 내에서 가장 관련성이 높은 항목들을 표시하며 크기 조정 없이 볼 수 있습니다. 더 많은 항목을 보러면 시트(sheet)를 스크롤하거나 확장할 수 있습니다. 반면 시트(sheet)의 콘텐츠가 전체 높이로 표시될 때 더 유용한 경우 미디엄 디텐트(medium detents)를 지원하지 않을 수 있습니다. 예를 들어 Messages와 Mail의 작성 시트는 내용을 작성하기에 충분한 공간을 제공하기 위해 전체 높이로만 표시됩니다.
→ 아이폰 앱에서는 시트 콘텐츠의 점진적 공개를 허용하기 위해 'medium detent'를 지원하는 것을 고려해볼 수 있습니다. 전체높이로 표시될 때가 더 유용한 경우엔 ‘medium detent’를 지원하지 않을 수 있습니다.
역자 첨언
Include a grabber in a resizable sheet. A grabber shows people that they can drag the sheet to resize it; they can also tap it to cycle through the detents. In addition to providing a visual indicator of resizability, a grabber also works with VoiceOver so people can resize the sheet without seeing the screen. For developer guidance, see prefersGrabberVisible.
크기 조정이 가능한 시트(sheet)에 그래버(grabber)를 포함합니다. 그래버(grabber)를 드래그하여 시트(sheet)의 크기를 조정할 수 있습니다. 또한 시트(sheet)를 탭하여 디텐트(detents)를 변경할 수도 있습니다. 그래버(grabber)는 크기를 조정할 수 있는 시각적 인디케이터 뿐만 아니라 VoiceOver와 함께 작동하므로 사람들은 스크린을 보지 않고도 시트(sheet)의 크기를 조정할 수 있습니다. 개발자 지침은 prefersGrabberVisible를 참고하세요.
역자 첨언
Support swiping to dismiss a sheet. People expect to swipe vertically to dismiss a sheet instead of tapping a dismiss button. If people have unsaved changes in the sheet when they begin swiping to dismiss it, use an action sheet to let them confirm their action.
시트(sheet)를 닫기 위한 스와이핑을 지원합니다. 사람들은 닫기 버튼을 누르지 않고 세로로 스와이핑하여 시트(sheet)를 닫는 것을 예상합니다. 만약 사람들이 스와이핑하여 시트(sheet)를 닫았을 때 저장되지 않은 변경 사항이 있을 경우에는 액션 시트(action sheet)를 사용하여 작업을 확인합니다.
Position Done and Cancel buttons as people expect. Typically, a Done or Dismiss button belongs in a sheet’s top-right corner (in a left-to-right layout) or top-left corner (in a right-to-left layout). The Cancel button belongs in a sheet’s top-left (in a left-to-right layout) or top-right (in a right-to-left layout) corner.
완료 버튼과 취소 버튼은 사람들의 예상대로 배치합니다. 일반적으로 완료나 닫기 버튼은 시트(sheet)의 오른쪽 상단 모서리(왼쪽에서 오른쪽 레이아웃) 또는 왼쪽 상단 모서리(오른쪽에서 왼쪽 레이아웃)에 표시됩니다. 취소 버튼은 시트(sheet)의 왼쪽 상단(왼쪽에서 오른쪽 레이아웃) 또는 오른쪽 상단(오른쪽에서 왼쪽 레이아웃)에 표시됩니다.
역자 첨언
In macOS, a sheet is a cardlike view with rounded corners that floats on top of its parent window. The parent window is dimmed while the sheet is onscreen, signaling that people can’t interact with it until they dismiss the sheet. However, people expect to interact with other app windows before dismissing a sheet.
macOS에서 시트(sheet)는 부모(parent) 창 위에 둥근 모서리가 있는 카드 뷰입니다. 부모(parent) 창은 시트(sheet)가 화면에 표시되는 동안 흐리게 보여지므로 시트(sheet)를 닫을 때까지 상호 작용 할 수 없지만, 사람들은 시트(sheet)를 닫기 전에 다른 창과 상호 작용하는 것을 예상합니다.
Present a sheet in a reasonable default size. People don’t generally expect to resize sheets, so it’s important to use a size that’s appropriate for the content you display. In some cases, however, people appreciate a resizable sheet — such as when they need to expand the contents for a clearer view — so it’s a good idea to support resizing.
시트(sheet)를 적절한 크기로 보여줍니다. 일반적으로 사람들은 시트 크기 조정을 예상하지 않으므로 표시되는 콘텐츠에 적합한 크기를 사용하는 것이 중요합니다. 하지만 사람들은 명확하게 보기 위해 콘텐츠를 확장해야 하는 경우처럼 사이즈 조정이 가능한 시트(sheet)를 선호할 때도 있으므로 크기 조정을 지원하는 것이 좋습니다.
Let people interact with other app windows without first dismissing a sheet. When a sheet opens, you bring its parent window to the front — if the parent window is a document window, you also bring forward its modeless document-related panels. When people want to interact with other windows in your app, make sure they can bring those windows forward even if they haven’t dismissed the sheet yet.
시트(sheet)를 먼저 닫지 않아도 다른 창과 상호 작용할 수 있도록 하세요. 시트(sheet)가 열리면 부모 창을 앞으로 가져옵니다. 부모 창이 문서 창인 경우에는 모달리스(modeless) 문서 관련 패널도 앞으로 가져옵니다. 앱의 다른 창과 상호 작용하기를 원할 경우, 아직 시트를 닫지 않았더라도 해당 창을 앞으로 가져올 수 있는지 확인해보세요.
역자 첨언
Position a sheet’s dismiss buttons as people expect. People expect to find all buttons that dismiss a sheet — including Done, OK, and Cancel — at the bottom of the view, in the trailing corner.
사람들의 예상대로 시트(sheet)의 닫기 버튼을 배치하세요. 사람들은 완료, 확인, 취소를 포함한 시트 닫기가 화면 하단 코너에 있을 것이라 생각합니다.
Use a panel instead of a sheet if people need to repeatedly provide input and observe results. A find and replace panel, for example, might let people initiate replacements individually, so they can observe the result of each search for correctness. For guidance, see Panels.
입력과 결과를 반복해야 하는 경우에는 시트(sheet) 대신 패널을 사용하는 것이 좋습니다. 예를 들어 찾기 및 대치 패널을 사용하면 사용자가 개별적으로 대치를 시작할 수 있고 정확한 각 검색 결과를 확인할 수 있습니다. 가이드는 Panels을 참고하세요.
역자 첨언
While a sheet is visible in a visionOS app, it floats in front of its parent window, dimming it, and becoming the target of people’s interactions with the app.
VisionOS 앱에서 시트가 표시되는 동안 기존 창이 어두워지고, 상위 레이어에 시트가 활성상태로 표시되어 사용자들은 앱과 상호 작용 할 수있게 됩니다.
Avoid displaying a sheet that emerges from the bottom edge of a window. To help people view the sheet, prefer centering it in their field of view.
창 하단 가장자리에서 시트가 나오도록 표시하지 마세요. 사람들이 시트를 보기 쉽도록 중앙에 시트를 배치하는 것이 좋습니다.
Present a sheet in a default size that helps people retain their context. Avoid displaying a sheet that covers most or all of its window, but consider letting people resize the sheet if they want.
사람들의 컨텍스트를 유지하기 좋은 기본 크기의 시트를 표시하세요. 시트가 창의 대부분 또는 전부를 가리지 않고, 사용자들이 원하는 경우 시트의 크기를 조정할 수 있도록 하는 것이 좋습니다.
In watchOS, a sheet is a full-screen view that slides over your app’s current content. The sheet is semitransparent to help maintain the current context, but the system applies a material to the background that blurs and desaturates the covered content.
watchOS에서 시트는 앱의 현재 콘텐츠 위로 슬라이드되는 전체 화면 뷰입니다. 시트는 현재 상황을 유지하는 데 도움이 되도록 반투명으로 설정되어 있지만, 시스템은 덮인 콘텐츠를 흐리게 하고 채도를 낮추는 재질을 배경에 적용합니다.
Use a sheet only when your modal task requires a custom title or custom content presentation. If you need to give people important information or present a set of choices, consider using an alert or action sheet.
모달 작업에 사용자 정의 제목이나 콘텐츠 보기가 필요한 경우에만 시트(sheet)를 사용하세요. 반면 중요한 정보를 제공하거나 선택을 활성화하는 경우에는 alert 또는 action sheet를 사용하는 것이 좋습니다.
Keep sheet interactions brief and occasional. Use a sheet only as a temporary interruption to the current workflow, and only to facilitate an important task. Avoid using a sheet to help people navigate your app’s content.
시트(sheet)의 상호작용은 간결하게 하고 특정 경우에만 사용하도록 하세요. 사용자 정의 시트(sheet)는 현재 워크플로우를 일시적으로 중단하거나 중요한 작업을 용이하게 하는 경우에만 사용하세요. 앱 콘텐츠 탐색에는 시트(sheet)를 사용하지 않는 것이 좋습니다.
Change the default label of the dismiss control only if it makes sense in your app. By default, the sheet displays a round cancel button in the upper left corner. Use this button when the sheet lets people make changes to the app’s behavior or to their data. If your sheet simply presents information without enabling a task, use Done or Dismiss instead. You can use a toolbar to display multiple buttons.
닫기 컨트롤의 기본 레이블을 변경하는 것은 앱에 맞을 때만 하세요. 기본적으로 시트는 왼쪽 상단에 둥근 취소 버튼을 표시합니다. 이 버튼을 사용하면 사용자가 앱의 동작이나 자신의 데이터를 변경할 수 있습니다. 시트가 단순히 정보를 표시하고 작업을 활성화하지 않는 경우 대신 '완료'나 '닫기'를 사용하세요. 여러 버튼을 표시하기 위해 툴바를 사용할 수 있습니다.
If you change the default label, avoid confusing alternatives. Avoid using a label that might mislead people into thinking that the sheet is part of a hierarchical navigation interface. Also, if the text in the top-leading corner looks like a page or app title — or if you don’t provide a button label — people won’t know how to dismiss the sheet.
기본 레이블을 변경한다면, 혼란스러운 대안은 피하세요. 사람들이 시트가 계층적인 탐색 인터페이스의 일부라고 잘못 생각하게 할 수 있는 레이블을 사용하지 마세요. 또한, 왼쪽 상단의 텍스트가 페이지나 앱의 제목처럼 보이거나 버튼 레이블을 제공하지 않는 경우, 사람들은 시트를 어떻게 닫아야 할지 모를 것입니다.
sheet(item:onDismiss:content:) — SwiftUI
UISheetPresentationController — UIKit
presentAsSheet(_:) — AppKit
Change Log
작성 날짜 | 작성자 | 수정사항 |
2023/10/30 | 예나 | 초기 번역 |
2023/12/17 | 예나 | 2차 수정 |
2023/12/22 | 예나 | 배포 |