Reference version

This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

SwiftUI

使用 @expo/ui 构建原生 iOS 界面的 SwiftUI 组件。

iOS
tvOS
Included in Expo Go
Recommended version:
~57.0.0

@expo/ui/swift-ui 中的 SwiftUI 组件允许你从 React Native 使用 SwiftUI 构建完全原生的 iOS 界面。

安装

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.

用法

使用 @expo/ui/swift-ui 中的组件需要将其包装在 Host 组件中。Host 是 SwiftUI 视图的容器。

import { Host, Button } from '@expo/ui/swift-ui'; export function SaveButton() { return ( <Host style={{ flex: 1 }}> <Button label="保存更改" /> </Host> ); }

更多信息请参见以下资源:

Expo UI Swift UI 指南

了解 @expo/ui/swift-ui 的基础知识

使用 SwiftUI 扩展

创建可与 Expo UI 集成的自定义 SwiftUI 组件和修饰器。

Expo UI iOS Liquid Glass 教程
Expo UI iOS Liquid Glass 教程

了解如何使用全新的 Expo UI 在你的 React Native 应用中构建真实的 SwiftUI 视图。

可用组件

组件描述
AccessoryWidgetBackground根据小组件环境提供标准外观的自适应背景视图。
Alert用于呈现原生 iOS 警告对话框的警告组件。
BottomSheet从屏幕底部呈现内容的 BottomSheet 组件。
Button用于显示原生按钮的按钮组件。
ColorPicker用于选择颜色的 ColorPicker 组件。
ConfirmationDialog用于呈现确认提示的 ConfirmationDialog 组件。
ContextMenu用于显示上下文菜单的 ContextMenu 组件。
ControlGroup用于对交互式控件进行分组的 ControlGroup 组件。
DatePicker用于选择日期和时间的 DatePicker 组件。
DisclosureGroup用于显示可展开内容的 DisclosureGroup 组件。
Divider用于创建视觉分隔线的 Divider 组件。
Form用于以结构化布局收集用户输入的 Form 组件。
Gauge用于通过视觉指示器显示进度的 Gauge 组件。
Group用于对视图进行分组且不影响布局的 Group 组件。
Host用于在 React Native 中启用 SwiftUI 组件的 Host 组件。
HStack用于水平布局的 HStack 组件。
Image用于显示 SF Symbols 的 Image 组件。
Label用于显示带图标文本的 Label 组件。
LazyHStack用于延迟加载水平布局的 LazyHStack 组件。
LazyVStack用于延迟加载垂直布局的 LazyVStack 组件。
Link用于显示可点击链接的 Link 组件。
List用于显示可滚动项目列表的 List 组件。
Menu用于显示下拉菜单的 Menu 组件。
Namespace允许你在 SwiftUI 中创建命名空间的 Namespace 组件。
Overlay用于将内容叠加到其他视图之上的 Overlay 组件。
Picker用于从列表中选择选项的 Picker 组件。
Popover用于在浮动叠加层中显示内容的 Popover 组件。
ProgressView用于显示进度指示器的 ProgressView 组件。
RNHostView用于在 SwiftUI 中启用 React Native 视图的组件。
ScrollView用于显示可滚动内容的 ScrollView 组件。
Section用于对列表和表单中的内容进行分组的 Section 组件。
SecureField用于输入密码的 SecureField 组件。
Slider用于从取值范围中选择数值的 Slider 组件。
Spacer用于提供灵活间距的 Spacer 组件。
SwipeActions用于为行内容添加前导和尾随滑动操作的 SwipeActions 组件。
TabView用于显示分页或选项卡式内容的 TabView 组件。
Text用于显示样式化文本并支持嵌套文本的 Text 组件。
TextField用于输入文本的 TextField 组件。
Toggle用于显示原生切换开关的 Toggle 组件。
VStack用于垂直布局的 VStack 组件。
ZStack用于重叠布局的 ZStack 组件。