ZStack
用于重叠布局的 SwiftUI ZStack 组件。
iOS
tvOS
Included in Expo Go
For the complete documentation index, see llms.txt. Use this file to discover all available pages.
Expo UI ZStack 与官方 SwiftUI ZStack API 保持一致,并将其子元素叠放在彼此之上。

安装
Terminal
- npx expo install @expo/uiIf you are installing this in an existing React Native app, make sure to install expo in your project.
用法
基本重叠堆栈
BasicZStackExample.tsx
import { Host, ZStack, Rectangle, Text } from '@expo/ui/swift-ui'; import { frame, foregroundStyle } from '@expo/ui/swift-ui/modifiers'; export default function BasicZStackExample() { return ( <Host matchContents> <ZStack> <Rectangle modifiers={[frame({ width: 100, height: 100 })]} /> <Text modifiers={[foregroundStyle({ color: 'white' })]}>Overlay</Text> </ZStack> </Host> ); }
带对齐方式
alignment 属性控制子元素在堆栈中的位置。可用选项包括:center、leading、trailing、top、bottom、topLeading、topTrailing、bottomLeading 和 bottomTrailing。
ZStackAlignmentExample.tsx
import { Host, ZStack, Rectangle, Circle } from '@expo/ui/swift-ui'; import { frame, foregroundStyle } from '@expo/ui/swift-ui/modifiers'; export default function ZStackAlignmentExample() { return ( <Host matchContents> <ZStack alignment="bottomTrailing"> <Rectangle modifiers={[frame({ width: 100, height: 100 }), foregroundStyle({ color: 'blue' })]} /> <Circle modifiers={[frame({ width: 30, height: 30 }), foregroundStyle({ color: 'red' })]} /> </ZStack> </Host> ); }
创建徽章覆盖层
ZStackBadgeExample.tsx
import { Host, ZStack, Circle, Text, Image } from '@expo/ui/swift-ui'; import { frame, foregroundStyle } from '@expo/ui/swift-ui/modifiers'; export default function ZStackBadgeExample() { return ( <Host matchContents> <ZStack alignment="topTrailing"> <Image systemName="bell.fill" size={32} color="blue" /> <Circle modifiers={[frame({ width: 16, height: 16 }), foregroundStyle({ color: 'red' })]} /> </ZStack> </Host> ); }
API
import { ZStack } from '@expo/ui/swift-ui';
Component
Type: React.Element<ZStackProps>