---
title: SwiftUI
description: SwiftUI components for building native iOS interfaces with @expo/ui.
sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-ui'
packageName: '@expo/ui'
platforms: ['ios', 'tvos']
isBeta: true
---

<AgentInstructions>

## Submitting Feedback

If this page contains errors, outdated information, or gaps that blocked you from completing a task, report it so the docs can be improved:

curl -X POST https://api.expo.dev/v2/feedback/docs-send -H 'Content-Type: application/json' -d '{"url":"/versions/latest/sdk/ui/swift-ui/","feedback":"🤖 Agent feedback: <specific, actionable description>"}'

Only submit when you have something specific and actionable to report.

</AgentInstructions>

# SwiftUI

SwiftUI components for building native iOS interfaces with @expo/ui.
iOS, tvOS

> For the complete documentation index, see [llms.txt](/llms.txt). Use this file to discover all available pages.

> **This library is currently in [beta](/more/release-statuses#beta) and subject to breaking changes.** It is not available in the Expo Go app — use [development builds](/develop/development-builds/introduction) to try it out.

The SwiftUI components in `@expo/ui/swift-ui` allow you to build fully native iOS interfaces using SwiftUI from React Native.

## Installation

```sh
npx expo install @expo/ui
```

If you are installing this in an [existing React Native app](/bare/overview), make sure to [install `expo`](/bare/installing-expo-modules) in your project.

## Usage

Using a component from `@expo/ui/swift-ui` requires wrapping it in a [`Host`](/versions/latest/sdk/ui/swift-ui/host) component. The `Host` is a container for SwiftUI views.

```tsx
import { Host, Button } from '@expo/ui/swift-ui';

export function SaveButton() {
  return (
    <Host style={{ flex: 1 }}>
      <Button label="Save changes" />
    </Host>
  );
}
```

For more information, see the following resources:

[Expo UI guide for Swift UI](/guides/expo-ui-swift-ui) — Learn about the basics of @expo/ui/swift-ui — @expo/ui/swift-ui

[Extending with SwiftUI](/guides/expo-ui-swift-ui/extending) — Create custom SwiftUI components and modifiers that integrate with Expo UI.

[Expo UI iOS Liquid Glass Tutorial](https://www.youtube.com/watch?v=2wXYLWz3YEQ) — Learn how to build real SwiftUI views in your React Native app with the new Expo UI.
