A custom modal sheet is a full-screen view that slides over your app’s current screen. Use a modal sheet when you need to give people a way to perform an important custom task in a mode that’s separate from their current context. For developer guidance, see sheet(isPresented:onDismiss:content:) (SwiftUI) and presentController(withName:context:) (WatchKit).

Keep modal sheet interactions brief and occasional. Use custom modal sheets only as a temporary interruption to the current workflow, and use them only to facilitate a critical task. A modal sheet takes people out of their current context for the duration of the task; it never helps them navigate your app’s content.

Avoid displaying a second modal sheet from an existing modal sheet. When people close a modal sheet, they expect to return to the main app interface. If closing a modal sheet takes people back to another modal sheet, they can lose track of where they are in your app.

Avoid using a modal sheet when you should be using an alert or action sheet. Alerts and action sheets use clear, familiar modal interfaces to give people important information and enable choices. Use a modal sheet only when your modal task requires a custom title or you need to customize the way you present elements in the sheet. For more guidance on alerts and action sheets, see Alerts and Action Sheets.

Dismissing a Modal Sheet

People dismiss a custom modal sheet by tapping the title in the top-left corner of the sheet. By default, the system displays the title Cancel.

Diagram of a screen that shows a navigation bar above a gray area. The button in the left end of the navigation bar is titled Cancel.

White checkmark in a green circle to indicate correct usage.

Diagram of a screen that shows a navigation bar above a gray area. The button in the left end of the navigation bar uses the less than symbol and the word Back for its title.

White X in a gray circle to indicate incorrect usage.

Diagram of a screen that shows a navigation bar above a gray area. The button in the left end of the navigation bar is titled Page Title.

White X in a gray circle to indicate incorrect usage.

Change the default title if doing so makes sense in your app. If Cancel doesn't work well in your app, you can change the title to convey a different meaning. The most common alternative titles are Done and Dismiss. Regardless of the title you choose, the system always displays it in white.

Don’t replace Cancel with “Back” or “<“. You don’t want your custom title to mislead people into thinking that the sheet is part of a hierarchical navigation interface.

Don’t replace Cancel with a screen title. If the text in the top-left corner looks like a page or app title, or if there's no title, people won’t know how to dismiss the modal sheet.