Reference version

This is documentation for the next SDK version. For up-to-date documentation, see the latest version (SDK 55).

Overlay

A SwiftUI Overlay component for layering content on top of another view.

iOS
tvOS

For the complete documentation index, see llms.txt. Use this file to discover all available pages.

Expo UI Overlay matches the official SwiftUI overlay modifier and provides a way to layer secondary content on top of a view, positioned with a specified alignment.

Installation

Terminal
npx expo install @expo/ui

If you are installing this in an existing React Native app, make sure to install expo in your project.

Usage

OverlayExample.tsx
import { Host, Overlay, Text, Image } from '@expo/ui/swift-ui'; import { foregroundStyle, frame, font, background, clipShape, offset, } from '@expo/ui/swift-ui/modifiers'; export default function OverlayExample() { return ( <Host style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}> <Overlay alignment="topTrailing"> <Image systemName="bell.fill" modifiers={[font({ size: 28 }), foregroundStyle('#007AFF')]} /> <Overlay.Content> <Text modifiers={[ font({ size: 11, weight: 'bold' }), foregroundStyle('#FFFFFF'), frame({ width: 18, height: 18 }), background('#FF3B30'), clipShape('circle'), offset({ x: 8, y: -8 }), ]}> 3 </Text> </Overlay.Content> </Overlay> </Host> ); }

API

import { Overlay } from '@expo/ui/swift-ui';

Component

Overlay

iOS
tvOS

Type: React.Element<OverlayProps>

OverlayProps

alignment

iOS
tvOS
Optional • Type: Alignment • Default: 'center'

The alignment of the overlay content relative to the base content.

children

iOS
tvOS
Type: React.ReactNode