Working with SwiftUI views, modifiers, and layouts
Implementing state management with @State, @Binding, @ObservableObject
Creating animations and transitions
Implementing navigation with NavigationStack, NavigationLink, TabView
Working with data flow patterns (@Environment, @EnvironmentObject)
Using SwiftUI controls (Button, TextField, Picker, etc.)
Building cross-platform apps for iOS, macOS, watchOS, tvOS, visionOS
Description
Complete SwiftUI framework documentation covering views, modifiers, layout, state management, animations, navigation, data flow, and all SwiftUI APIs for iOS, macOS, watchOS, tvOS, and visionOS.
Quick Reference
Core Components
Accessibility
AccessibilityTraits
Animations
Animation
AnyTransition
Transition
Api Reference
Capsule
Circle
Commands
ConfirmationDialog
DisclosureGroup
Ellipse
ForEach
Form
FullScreenCover
Gauge
GeometryProxy
GeometryReader
GroupBox
ImmersiveSpace
List
Menu
MenuBarExtra
ObservedObject
OutlineGroup
Published
Rectangle
RoundedRectangle
Section
SecureField
SwiftUI
Toolbar
ToolbarItem
ToolbarItemGroup
App Structure
DocumentGroup
Scene
Settings
WindowGroup
Controls
Button
DatePicker
Picker
Slider
Stepper
Toggle
Data Flow
FocusedSceneValue
PreferenceKey
Drawing
Canvas
Path
Essentials
App
AppStorage
Gestures
DigitalCrownRotationalSensitivity
DragGesture
LongPressGesture
MagnificationGesture
RotationGesture
TapGesture
Layout
Divider
Grid
GridRow
HStack
LazyHGrid
LazyHStack
LazyVGrid
LazyVStack
NavigationStack
Spacer
VStack
ZStack
Navigation
Alert
Link
NavigationLink
NavigationPath
Popover
Sheet
Table
TableColumn
WKInterfaceObjectRepresentable
State Management
Binding
Environment
EnvironmentObject
FocusState
Observable
ObservableObject
SceneStorage
State
StateObject
Views
AccessibilityLabel
Color
ColorPicker
ContextMenu
Image
Label
NSViewControllerRepresentable
NSViewRepresentable
PreviewProvider
ProgressView
RealityView
ScrollView
Shape
TabView
Text
TextEditor
TextField
TimelineView
UIViewControllerRepresentable
UIViewRepresentable
View
ViewModifier
Key Concepts
Platform Support
iOS 26.0+
iPadOS 26.0+
macOS 26.0+
Mac Catalyst 26.0+
visionOS 26.0+
On-Device AI
All models run entirely on-device, ensuring privacy and offline capability.
Usage Guidelines
Check model availability before use
Define clear instructions for the model's behavior
Use guided generation for structured outputs
Implement tool calling for dynamic capabilities
Handle errors appropriately
Navigation
See the
references/
directory for detailed API documentation organized by category:
references/accessibility.md
- Accessibility
references/animations.md
- Animations
references/api_reference.md
- Api Reference
references/app_structure.md
- App Structure
references/controls.md
- Controls
references/data_flow.md
- Data Flow
references/drawing.md
- Drawing
references/essentials.md
- Essentials
references/gestures.md
- Gestures
references/layout.md
- Layout
references/navigation.md
- Navigation
references/state_management.md
- State Management
references/view_modifiers.md
- View Modifiers (18 modifiers including .sheet(), .frame(), .animation(), etc.)
references/views.md
- Views
Best Practices
Prompting
Be specific and clear in your prompts
Instructions
Define the model's behavior upfront
Safety
Enable guardrails for sensitive content
Localization
Check supported languages for your use case
Performance
Use prewarm() for better response times
Streaming
Use streamResponse() for real-time user feedback
Common Patterns
Basic Session
let
model
=
SystemLanguageModel
(
useCase
:
.
general
)
let
session
=
LanguageModelSession
(
model
:
model
)
let
response
=
try
await
session
.
respond
(
to
:
Prompt
(
"Your question"
)
)
Guided Generation
struct
Recipe
:
Generable
{
let
title
:
String
let
ingredients
:
[
String
]
}
let
recipe
=
try
await
session
.
respond
(
generating
:
Recipe
.
self
,
prompt
:
Prompt
(
"Create a pasta recipe"
)
)
Tool Calling
struct
WeatherTool
:
Tool
{
func
call
(
arguments
:
String
)
async
throws
->
String
{
// Fetch weather data
}
}
let
session
=
LanguageModelSession
(
model
:
model
,
tools
:
[
WeatherTool
(
)
]
)
Reference Documentation
For complete API details, see the categorized documentation in the
references/
directory.