0% found this document useful (0 votes)
32 views1 page

SwiftUI 3 Roadmap

The document discusses Xcode and its features for building apps across platforms like iOS and macOS. It covers topics like views, the view lifecycle, layout systems, navigation patterns, data flow using publishers and subscribers, and more tools for building user interfaces.

Uploaded by

ngc8vynqqs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views1 page

SwiftUI 3 Roadmap

The document discusses Xcode and its features for building apps across platforms like iOS and macOS. It covers topics like views, the view lifecycle, layout systems, navigation patterns, data flow using publishers and subscribers, and more tools for building user interfaces.

Uploaded by

ngc8vynqqs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Create new project WindowGroup

Xcode 12

Xcode preview Canvas Preview layout


onChange(of: ScenePhase)
Multi-platform support

Simulator onOpenURL handleExternalEvents

Button Text

View What is a view? Image Color view

AnyView
Device specific

EmptyView

Size classes View lifecycle OnAppear


Accessibility task
onDisappear
Interface Orientation
Dark mode init
Multiwindow Support

Compose views Layout System

Container views
Navigation
List Identifiable List with binding
Spacer Divider .inset scenePadding
VSplitView
Group .padding()
TabView
NavigationView
ForEach
VStack HStack ZStack
fixedSize .frame() flexible frames AlignmentGuides
.tabItem badges HSplitView listRowInset listRowBackground
NavigationLink
Scrollview ScrollViewReader
PageTabViewStyle fileExporter listRowSeparatorTint .background .overlay .zIndex .edgesIgnoreSafeArea()

NavigationbarItems Collection View Section


fileImporter listSectionSeparatorTint .scaleToFill scaleToFit Layout priority ignoreSafeArea
Publishers
sheet fullScreenCover LazyHGrid LazyVGrid Forms
toolbar
listRowSeparator Offset position saveAreaInset(content)
Subscribers
popover alert Sheet .contextMenu
Table DisclosureGroup
.navigationTitle
Operators listSectionSeparator Clipped mask CornerRadius ClipShape
navigationViewStyle(.stack) OutLineGroup
Transforming values interactiveDismissDisabled confirmationDialog insetStyle(alternatesBackground) headerProminence(.increase) Preferences GeometryReader
Subjects

Data flow Static views

Images Drawing
Text
Color Button SignInWithApple button
Canvas
AsyncImage Path Stroke
Markdown support for Text Label
Property wrapper @State @Binding EditButton Menu MenuButton Link
Accent Color Shape trim
aspectRatio Resizable
@AppStorage @SceneStorage font bold foregroundColor labelStyle primaryAction
Gradient Circle Ellipse Fill
imageScale

minimumScaleFactor .buttonStyle Button style: bordered, borderless


@ObservedObject lineLimit Color.primary RoundedRect
ObservableObject
@StateObject System icons
lineSpacing allowsTightening Color.secondary Button role : cancel, destructive, none Capsule Rectangle
@Published
@Environment symbolRenderingMode
clippedShape

@EnvironmentObject toggleStyle listStyle symbolVariant


View modifier

onReceive .onChange()
foregroundStyle
Custom view modifiers
scaleEffect .accentColor .tint
View Model Border
.background(.thinMaterial) redacted
Shadows transformEffect .contrast .saturation
Design System - style guide privacySensitive
controlProminence: increased
Opacity rotation3DEffect colorMultiply brightness

Model Blur rotationEffect grayscale hueRotation Dark mode controlSize

Data persistence

Animation
UserDefaults
Archiving
Animation timing curve Timeline ProgressView
Implicit animations Transitions
JSON Core data Repeat speed
File manager
@FetchRequest explicit animation progressViewStyle linear
Codable Protocol matchedGeometryEffect Animatable Protocol
repeatForever delay
Realm circular
CRUD

CloudKit

User interaction User input


Firebase

Network calls
Gesture recognizer Drag and drop
UI controls
View modifiers TextField TextEditor .searchable .focusedValue @FocusedBinding
Subviews Inside a list
.gesture .onTapGesture .onDrag
Toggle Slider Stepper
ButtonStyles SecureField @FocusedValue
Reusable generic views ForEach .onDrop DropDelegate
Picker DatePicker Tap gesture Double tap
ToggleStyles .onChange() .focused .focused(; equals)
Generics .onInsert .onMove
Drag gesture Rotation gesture NSItemProvider UTType
ColorPicker MapView
KeyboardType onDelete
@FocusState Long press gesture Magnification gesture onDrag(preview:)

disableAutocorrection
Composing gestures swipeActions
LabelIsHidden
.focusedSceneValue
onSubmit onSubmitLabel Simultaneous gesture contentShape
.disabled()
.onFocus refreshable - pull to refresh
.focusable
submitScope onHover

Integration with UIKit Coordinator for Delegates

UIViewControllerRepresentable UIViewRepresentable

You might also like