Complete Guide to SwiftUI

Complete Guide to SwiftUI

10h 2mIntermediate2025-06-11

Authors

Steven Lipton

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

Introduction

  • Faster SwiftUI
  • What you should know

SwiftUI and Xcode Basic Concepts

  • Swift review - Conditional operators and arrays
  • Start a new SwiftUI project for iOS
  • The code window and canvas
  • Modifiers in canvas and code
  • ContentView previews

Making Views

  • Embed a stack view
  • Text views
  • Image views with SF Symbols
  • Iteration with ForEach
  • Images and assets
  • Labels
  • Add view
  • Challenge - Add views
  • Solution - Add views
  • Extract subviews
  • Subviews with parameters
  • Challenge - Ratings view
  • Solution - Ratings view

Modifiers

  • Presenting views
  • Space modifiers
  • Shape modifiers
  • Text modifiers
  • Color modifiers
  • Basic backgrounds
  • Materials and shadows
  • Scale modifiers
  • Size modifiers
  • Clean up joined views
  • Challenge - Clean up OrderView
  • Solution - Clean up OrderView

Models and Data

  • MVC vs. MVVM
  • State variables and buttons
  • Challenge - Add a button
  • Solution - Add a button
  • Use Binding variables
  • The Identifiable protocol
  • Add a model to root views
  • Populating collections with List
  • Selection and binding variables

Dynamic Models

  • Create observable objects in models
  • Use ObservedObject in views
  • Environment variables
  • System environment variables
  • Challenge - Add StatusBarView
  • Solution - Add StatusBarView

Interaction

  • Toggles and steppers
  • Pickers
  • Moving data in pickers
  • Text input
  • Lazy grids
  • Tap gestures
  • Reacting to changes
  • Challenge - Favorites grid
  • Solution - Favorites grid
  • Challenge - Add a grid view to the app
  • Solution - Add a grid view to the app

Animation in SwiftUI

  • Basic animation
  • Timing curves and springs
  • Repeating animation
  • Custom phase animation
  • Matched geometry

Gradients

  • Gradients
  • Gradients with color stops
  • Mesh gradients
  • Challenge - Apply gradients to overview
  • Solution - Apply gradients to overview

SF Symbols

  • SF Symbols app
  • SF Symbols variants
  • SF Symbols in color - Monochrome and multicolor
  • SF Symbols in color - Palette and hierarchical
  • SF Symbols variable color
  • SF Symbols animation, part 1
  • SF Symbols animation, part 2
  • Replace effects
  • Challenge - Variants, modes, and effects
  • Solution - Variants, modes, and effects

Basic Navigation

  • Tab bars
  • Modifying tab bars
  • Alerts
  • Updating models from views
  • Presenting sheets
  • Sheets with completion handlers

Navigation Stacks

  • Navigation links
  • Stack navigation in lists
  • Deeper navigation stacks
  • Create navigation paths
  • Use navigation paths
  • More navigation destinations
  • Toolbars
  • Navigation title
  • List interaction

Custom Views and Modifiers

  • Extensions
  • Custom modifiers
  • More modifiers
  • Modifiers with parameters
  • Shapes
  • Modifiers with added views
  • ViewBuilder
  • Conditional ViewBuilder
  • Challenge - Make Home a back button
  • Solution - Make Home a back button

Apple Ecosystem and Layout

  • SwiftUI to storyboards
  • Adding UIViewControllers
  • Updating UIViewControllers
  • Delegates
  • Coordinators
  • Size classes
  • Adapting for devices
  • Modular views
  • Arranging views

One More Thing

  • One more thing
  • Observable objects
  • Grids
  • Grid modifiers
  • Forms
  • NavigationSplitView
  • Previewable

Capstone

  • Introducing the capstone project
  • The model schema
  • Add model to project
  • The model implementation
  • A dual key model
  • Styles
  • Code custom controls
  • Ingredients view
  • Add navigation
  • Recipe view
  • Add and edit recipes
  • Testing

Conclusion

  • Next steps
200,000 Toman