Overlay
A SwiftUI Overlay component for layering content on top of another view.
iOS
tvOS
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/uiIf 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
Type: React.Element<OverlayProps>
Optional • Type:
Alignment • Default: 'center'The alignment of the overlay content relative to the base content.