Complete Guide to SwiftUI
10h 2mIntermediate2025-06-11
Authors

Steven Lipton
VP of Special Projects at Scientific Device Laboratory, Developer
Course details
SwiftUI is the primary user interface development framework for all Apple development. This course covers SwiftUI’s use of reactive programming. Instructor Steven Lipton covers topics including adding and customizing views; effectively using modifiers for proper layout and design; connecting data sources to views; communicating between views; animation, navigation between views and the use of SwiftUI in iOS, iPadOS, and macOS, and the differences between these devices.
Skills covered
SwiftiOS DevelopmentiOSUX DesignMobile DevelopmentAppleUser ExperienceWeb DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Faster SwiftUI
- 02 - What you should know
1. SwiftUI and Xcode Basic Concepts
- 03 - Swift review - Conditional operators and arrays
- 04 - Start a new SwiftUI project for iOS
- 05 - The code window and canvas
- 06 - Modifiers in canvas and code
- 07 - ContentView previews
2. Making Views
- 08 - Embed a stack view
- 09 - Text views
- 10 - Image views with SF Symbols
- 11 - Iteration with ForEach
- 12 - Images and assets
- 13 - Labels
- 14 - Add view
- 15 - Challenge - Add views
- 16 - Solution - Add views
- 17 - Extract subviews
- 18 - Subviews with parameters
- 19 - Challenge - Ratings view
- 20 - Solution - Ratings view
3. Modifiers
- 21 - Presenting views
- 22 - Space modifiers
- 23 - Shape modifiers
- 24 - Text modifiers
- 25 - Color modifiers
- 26 - Basic backgrounds
- 27 - Materials and shadows
- 28 - Scale modifiers
- 29 - Size modifiers
- 30 - Clean up joined views
- 31 - Challenge - Clean up OrderView
- 32 - Solution - Clean up OrderView
4. Models and Data
- 33 - MVC vs. MVVM
- 34 - State variables and buttons
- 35 - Challenge - Add a button
- 36 - Solution - Add a button
- 37 - Use Binding variables
- 38 - The Identifiable protocol
- 39 - Add a model to root views
- 40 - Populating collections with List
- 41 - Selection and binding variables
5. Dynamic Models
- 42 - Create observable objects in models
- 43 - Use ObservedObject in views
- 44 - Environment variables
- 45 - System environment variables
- 46 - Challenge - Add StatusBarView
- 47 - Solution - Add StatusBarView
6. Interaction
- 48 - Toggles and steppers
- 49 - Pickers
- 50 - Moving data in pickers
- 51 - Text input
- 52 - Lazy grids
- 53 - Tap gestures
- 54 - Reacting to changes
- 55 - Challenge - Favorites grid
- 56 - Solution - Favorites grid
- 57 - Challenge - Add a grid view to the app
- 58 - Solution - Add a grid view to the app
7. Animation in SwiftUI
- 59 - Basic animation
- 60 - Timing curves and springs
- 61 - Repeating animation
- 62 - Custom phase animation
- 63 - Matched geometry
8. Gradients
- 64 - Gradients
- 65 - Gradients with color stops
- 66 - Mesh gradients
- 67 - Challenge - Apply gradients to overview
- 68 - Solution - Apply gradients to overview
9. SF Symbols
- 69 - SF Symbols app
- 70 - SF Symbols variants
- 71 - SF Symbols in color - Monochrome and multicolor
- 72 - SF Symbols in color - Palette and hierarchical
- 73 - SF Symbols variable color
- 74 - SF Symbols animation, part 1
- 75 - SF Symbols animation, part 2
- 76 - Replace effects
- 77 - Challenge - Variants, modes, and effects
- 78 - Solution - Variants, modes, and effects
10. Basic Navigation
- 79 - Tab bars
- 80 - Modifying tab bars
- 81 - Alerts
- 82 - Updating models from views
- 83 - Presenting sheets
- 84 - Sheets with completion handlers
11. Navigation Stacks
- 85 - Navigation links
- 86 - Stack navigation in lists
- 87 - Deeper navigation stacks
- 88 - Create navigation paths
- 89 - Use navigation paths
- 90 - More navigation destinations
- 91 - Toolbars
- 92 - Navigation title
- 93 - List interaction
12. Custom Views and Modifiers
- 94 - Extensions
- 95 - Custom modifiers
- 96 - More modifiers
- 97 - Modifiers with parameters
- 98 - Shapes
- 99 - Modifiers with added views
- 100 - ViewBuilder
- 101 - Conditional ViewBuilder
- 102 - Challenge - Make Home a back button
- 103 - Solution - Make Home a back button
13. Apple Ecosystem and Layout
- 104 - SwiftUI to storyboards
- 105 - Adding UIViewControllers
- 106 - Updating UIViewControllers
- 107 - Delegates
- 108 - Coordinators
- 109 - Size classes
- 110 - Adapting for devices
- 111 - Modular views
- 112 - Arranging views
14. One More Thing
- 113 - One more thing
- 114 - Observable objects
- 115 - Grids
- 116 - Grid modifiers
- 117 - Forms
- 118 - NavigationSplitView
- 119 - Previewable
15. Capstone
- 120 - Introducing the capstone project
- 121 - The model schema
- 122 - Add model to project
- 123 - The model implementation
- 124 - A dual key model
- 125 - Styles
- 126 - Code custom controls
- 127 - Ingredients view
- 128 - Add navigation
- 129 - Recipe view
- 130 - Add and edit recipes
- 131 - Testing
Conclusion
- 132 - Next steps
Related courses
- Exploring Ktor with Kotlin Multiplatform and Compose
- Complete Guide to Apache Kafka for Beginners
- Complete Guide to AI and Data Science for SQL: From Beginner to Advanced
- Complete Guide to Power BI for Data Analysts by Microsoft Press (2024)
- Complete Guide to R: Wrangling, Visualizing, and Modeling Data
- Complete Guide to C Programming Foundations
- Complete Guide to Java Design Patterns: Creational, Behavioral, and Structural
- Complete Guide to AWS Software Deployment
Related learn paths
- Introduction to Fundamental Skills for Data Work: Data Collection
- Introduction to Fundamental Skills for Data Work: Data Storage
- Advance Your Skills in R
- Explore a Career as a Power BI Specialist
- Introduction to Fundamental Skills for Data Work: Data Analysis and Interpretation
- Unlock Your Career Potential: Use LinkedIn to Build Confidence and Career Skills
- Get Started with Microsoft Copilot
- Introduction to Fundamental Skills for Data Work: Data Processing