Going full screen
iPhone, iPad, and Mac offer full-screen modes that can enable a distraction-free environment, often hiding system and app controls until people take action to reveal them.
Enable full-screen mode when it makes sense for your experience. People appreciate full-screen mode when they want to play a game, play media, or perform an immersive task, but not every app enables such experiences. For example, Calculator in macOS doesn’t need to support full-screen mode, because people generally use it to perform calculations and paste the results into other locations.
Maintain access to essential app features so people can complete their task without exiting full-screen mode. For example, a full-screen media experience needs to make playback controls persistently available or easy to reveal when people need them.
In general, let people reveal the Dock while an iPadOS or macOS app is in full-screen mode. It’s important to preserve access to the Dock so people can quickly open apps and other Dock items. An exception is in an immersive game where the edges of the screen enable part of the experience.
If necessary, adjust your interface to take advantage of the full-screen space. The space available for a full-screen experience is generally larger than the non-full-screen space. In some cases, such as macOS, windows can grow in both width and height when they enter full-screen mode. To keep the focus on essential areas and to use the space well, you might want to subtly adjust the proportions of your interface. If this type of adjustment makes sense in your app, avoid jarring transitions and make sure your interface remains instantly recognizable.
Let people choose when to exit full-screen mode. People generally don't expect to exit full-screen mode automatically when they switch to another app or finish an immersive activity, like playing a movie or game.
Not supported in tvOS or watchOS.
Allow auto-hiding of the Home Screen indicator when it makes sense. When you enable auto-hiding, the indicator fades out if people haven’t touched the screen for a few seconds, reappearing when they touch it again. Enable this behavior only for viewing experiences like playing videos or photo slideshows and during gameplay.
Use the system-provided full-screen experience. Using the system’s full-screen support ensures that your full-screen window works well in all contexts. For developer guidance, see toggleFullScreen(_:).
If you use custom full-screen support, rely on system-defined areas to keep your full-screen window content unobscured. For example, some Mac models include a camera housing that occupies an area at the top-center of the screen. Using the system’s full-screen support automatically accommodates this area; if you use a custom full-screen experience, you need to account for system-defined areas as you position your content. macOS provides two ways to help you position content when using a custom full-screen experience:
- The safeAreaInsets property contains top, bottom, left, and right values that define the safe area of the screen. Use the top value to inset your content from the top of the screen so that it remains unobscured.
- The auxiliaryTopLeftArea and auxiliaryTopRightArea properties define the rectangles at the top of the screen that represent unobscured areas left and right of the camera housing and outside of the safe area.
Keep the toolbar visible when it’s necessary for accomplishing tasks; hide it when the focus is on content. You can set a full-screen window to show the toolbar all the time, or only when people move the pointer to the top of the screen. Calendar, for example, always displays the toolbar, providing quick access to essential navigation and schedule-management controls. On the other hand, Preview hides the toolbar so people can focus on reading or viewing content. Note that the menu bar typically hides in full-screen mode unless people reveal it.
Always let people enter Mission Control. Even when your app is the only thing in focus, people expect to invoke Mission Control to preview and navigate other open windows, full-screen apps, desktops, and spaces. Respect the keyboard shortcuts and gestures people use to enter Mission Control, regardless of the type of experience your app enables.
After people switch away from your full-screen app, help them resume where they left off when they return. For example, a game or a slideshow needs to pause automatically when people leave the app so they don’t miss anything.
Configure auxiliary windows for use in full-screen mode. Full-screen auxiliary windows need proper configuration to display above full-screen content. For developer guidance, see fullScreenAuxiliary.
If people expect to access files while they’re in your app, provide convenient ways to do so in full-screen mode. Don’t make people exit full-screen mode to open files, import images, save files, or perform similar interactions. For example, you might implement an app-specific image browser that lets people open images in your app regardless of the current mode.