SwiftUI Handbook
121 sections - 7 hours of video
Add to favorites
Notify me
A comprehensive series of tutorials covering Xcode, SwiftUI and all the layout and development techniques
Taught by Meng To
Purchase includes access to 50+ courses, 320+ premium tutorials, 300+ hours of videos, source files and certificates.
121 topics
All techniques are explained step-by-step, in a beginner-friendly format so that you can easily follow in a cohesive way.
1
Visual Editor in Xcode
Design your layout using the inspector, insert menu and modifiers
5:42
2
Stacks and Spacer
Learn how to use HStack, VStack, ZStack with spacing and alignment
6:26
3
Import Images to Assets Catalog
How to import images from Figma to Xcode using PDF, PNG and JPG
5:16
4
Shapes and Stroke
How to use shapes like circle, ellipse, capsule, rectangle and rounded rectangle
6:26
5
SF Symbols
How to use system icons for Apple platforms with different size, scale and multicolor
4:23
6
Color and Image Literals
Use the color picker and images list to set your colors and images directly in the code
4:28
7
Sidebar
Learn how to create a Sidebar navigation for iOS, iPadOS and macOS
6:19
8
Toolbar
Use the Toolbar modifier to place multiple items in the navigation bar or bottom bar
4:04
9
Image View
How to work with the Image View and its resizable, aspectRatio, scaleToFit and resizingMode options
3:16
10
Safe Area Layout
How to ignore the Safe Area edges in a typical layout with a background
3:17
11
Text View
A deep dive into how to use the Text View and its modifiers such as font, color, alignment, line spacing and multiple lines
6:31
12
Custom Fonts
How to set a custom font in iOS using info.plist and the font modifier
3:29
13
Max Width and Frame Alignment
An alternative to stacks and spacer is to use frame max width and alignment to avoid the pyramid of doom
3:17
14
Shadows and Color Opacity
The most flexible way to add shadows to your UI in SwiftUI
5:05
15
Mask and Transparency
How to use mask to clip the content with opacity and gradient
4:04
16
Clip Shape and Smooth Corners
How to create a continuous corner radius, also known as super ellipse
2:27
17
Tab View Pagination
Create a simple user onboarding layout using Tab View with the PageTabViewStyle
2:18
18
Animation States
How to set up a simple animation using states, toggle, withAnimation and onTapGesture
4:51
19
View Transitions and Animations
Animate your screens using the transition modifier and preset animations
3:23
20
Animation Modifier and Timing
How to apply a different animation timing on separate elements using the animation modifier
6:05
21
Transform Animations
How to animate a card using offset, scaleEffect, rotationEffect and rotation3DEffect
5:00
22
Tap Animation with Delay
Expand and contract a button using the tap gesture with delay
3:34
23
Long Press Gesture
Detect the long press duration to expand a button and bounce back
4:19
24
Drag Gesture
Learn how to create a draggable card using DragGesture, onChange, onEnded events and the offset modifier
3:56
25
Matched Geometry Effect
Create a custom transition between views using the matchedGeometryEffect modifier, namespace and id
7:45
26
Advanced Matched Geometry Effect
Recreate the Music app transition using matched geometry effect and learn how to pass Namespace to another view
6:46
27
Swift Package Manager
How to install SwiftUI packages using the Swift Package Manager
4:02
28
Background Blur
How to apply a frosted glass sheet in your user interface using Apple's sample code
3:45
29
Lottie Animation
How to add animated assets using Lottie in SwiftUI
8:34
30
Lazy Grid Layout
Learn how to build an adaptive or fixed grid layout that expands vertically or horizontally
7:41
31
Lazy Stacks
Get better scroll performance by using LazyHStack and LazyVStack instead of HStack and VStack
3:50
32
Navigation View
Create a native navigation for your app using the nav bar, large title and swipe gesture
4:07
33
Link
Learn how to open a URL in the Safari browser and how to customize your Link
3:01
34
Color Picker
How to set and customize the native color picker in SwiftUI
4:21
35
Date Picker
How to let users pick a date and time using a dropdown wheel or a calendar style
3:15
36
Hover Effects
How to design for iPadOS pointer using hoverEffect and onHover
5:49
37
Components
How to create reusable components by using the Extract Subview option in SwiftUI
4:12
38
Binding
How to synchronize states across multiple views and set the constant for your preview
3:28
39
Static Data
Work with static data in SwiftUI.
4:09
40
Full Screen Modal
How to present a full screen modal without the sheets UI
3:14
41
Hide Status Bar
How to hide your app's status bar with or without animation
1:19
42
Redacted Placeholder
Create a placeholder UI while loading using the redacted modifier
3:24
43
Horizontal Scroll with rotate3DEffect
How to apply a beautiful 3D transform while scrolling in SwiftUI
6:41
44
Animation Repeat, Delay and Speed
How to loop and delay your animation using repeat, repeatForever, speed and delay
4:49
45
Tab Selection from Child View
How to programmatically link to another tab from any child view in SwiftUI
4:01
46
Status Bar Size with GeometryReader
Using SafeAreaInsets, you can get the height of the status bar, tab bar dynamically
3:31
47
Modal Presentation
Use the .sheet modifier to show a modal
2:18
48
Remote Images
Load images from the Internet in your SwiftUI application with SDWebImage
3:15
49
Dismiss custom modal
Create an "OnTapOutside" listener on dismiss a custom modal
3:18
50
Iterating Over an Array
Use ForEach to loop through an array in a View and in a function
2:42
51
Switch Statement
Learn how to use switch statements in Swift
2:25
52
Format Date
Transform how dates are displayed in your application by using a Date Extension and DateFormatter
4:53
53
UserDefaults
Cache your user's data with UserDefaults
2:59
54
Hide Keyboard
Use a View extension to dismiss the keyboard when the user taps outside of the keyboard area
2:22
55
Play Video with AVPlayer
Add a video or an audio player to your SwiftUI application by using AVPlayer and AVKit
3:13
56
Controls with AVPlayer
Play, pause, change the video speed, get the current time or the duration, and add subtitles to a video, all using AVPlayer
5:12
57
OnScroll listener
Use SwiftUITrackableScrollView to add a listener when the user scrolls
3:31
58
Link from a Text
Open a web page in Safari when the user clicks on a link in your SwiftUI application
3:06
59
Share Sheet
Call Apple's share sheet when the user clicks on a button
2:30
60
Strings in Swift
Learn the basics of Strings in Swift and how to manipulate them
3:51
61
Xcode Playground
Use Xcode Playground to test your Swift functions and save time
2:06
62
AppStorage
Use the newly introduced AppStorage to add to UserDefaults
2:29
63
Action sheet
Show an action sheet with multiple options for the user to choose from
3:21
64
TabBar scroll to top
Programmatically scroll to top when the user taps more than once on the the tab bar
6:57
65
TabBar to root View
Learn how to programmatically go back to the root View when the user taps on the tab item twice
6:16
66
Status bar background on scroll
Learn how to add a background color on the status bar while the user is scrolling
3:39
67
Create a Widget
Add widget to your existing SwiftUI project with custom data
1:38
68
ContainerRelativeShape
Adding an adaptive radius to a widget
2:54
69
WidgetFamily sizes
Adding support for various family sizes in a widget
3:06
70
SwiftUI Picker
Create a wheel picker using SwiftUI's built-in Picker, to allow the user to select from multiple choices
4:17
71
Conditional modifier
Learn different ways to add a conditional modifier to your SwiftUI view
4:26
72
Load Safari Inside App
Load Safari as a fullScreenCover inside of your application
3:54
73
Markdown with AttributedString
Use AttributedString to generate formatted text from markdown
2:55
74
AttributeContainer
Style AttributedStrings with AttributeContainer
2:59
75
AsyncImage
Load remote images using AsyncImage
2:44
76
Format Date with Formatted
Use SwiftUI 3.0's .formatted() function to format a date
2:30
77
List Row Separators
Customize list row separators
3:00
78
Swipe actions
Easily add swipe actions to a row in a list
4:35
79
Searchable
Effortlessly search through a list
4:06
80
Light and Dark Modes
Automatically adapt to light and dark mode
2:35
81
Canvas
Create efficient and powerful 2D drawings
8:37
82
Animations with TimelineView
Synchronize animations with timed events
10:50
83
SecureField
Create a text field with hidden text that is perfect for password fields
0:27
84
Background Animation with Gradient
Play with unit points, gradients, masking, blurs and a timer to create a beautiful gradient animation
2:21
85
Inner Shadow
Apply multiple inner shadows on a Text, SF Symbol or Shape in iOS 16
1:55
86
SF Font Width Styles
Implement SF Font Compressed, Condensed and Expanded width styles using a font extension
0:42
87
Multiple Blending Modes
Combine Difference, Hue and Overlay blend modes to create a text that has great contrast on both light and dark backgrounds
1:01
88
Circular Text on Path
Create a text that follows a circle path by using GeometryReader, PreferenceKey and calculating the angles
2:55
89
View That Fits
Use ViewThatFits to make your layout adaptive without using GeometryReader or conditions
0:36
90
Navigation Stack
Create a navigation stack list with data and multiple destinations
5:04
91
Half Sheet
Present a bottom sheet UI natively and control the sizes and drag zones
2:11
92
Charts
SwiftUI 4 makes creating charts with the Chart view easy and efficient, providing vivid visuals for data without 3rd-party libs
1:41
93
Grid Layout
Grid Layout provides developers with the power to design custom layouts, tables and grids, with control over element size and positioning
9:08
94
SVG to SwiftUI
Learn how to turn Figma shapes into SwiftUI code and create beautiful card designs with linear gradients and grid layouts
8:09
95
Detect Screen Size
Use UIScreen.main.bounds, GeometryReader, and PreferenceKey to detect and track screen sizes with SwiftUI
1:30
96
Custom Layout
Make your own designs with the CustomLayout protocol and change the point values by using affine transformations
8:41
97
Radial Layout
Create a custom radial layout by calculating the center point and radius of a view
7:19
98
AnyLayout Transition
Transition between different layouts and animate them with AnyLayout while keeping the same structure and content
3:30
99
Core Location in SwiftUI
Learn how Core Location Manager shows where a device is and its direction. Our guide helps you use it easily for compass directions.
100
Radial Gradient Button Animation
Create a custom button with radial gradients and a glow animation
3:14
101
SF Symbols 5 Animations
Dive into SF Symbols 5: Master animated icons for a dynamic, engaging app experience
102
Phase Animator in SwiftUI
Create multi-stage Animations with ease
2:45
103
Keyframe Animator in SwiftUI
Learn how to leverage SwiftUI's keyframe animator to bring your app to life with captivating animations
4:08
104
Specific Corner Radius
Learn how to create precise and unique corner radius using various techniques in SwiftUI
105
Metal Shaders in SwiftUI
Create stunning visual effects with Metal and SwiftUI
106
Observable Models
Simplify app development and eliminate boilerplate code with observable view models in SwiftUI
107
SwiftData Persistence
Learn SwiftData fundamentals - define models, set up persistence, fetch, query, and modify data with code examples
108
Embed 3D Assets from Spline
Learn how to embed 3D assets from Spline into your SwiftUI app
4:25
109
Embed Animated Assets from Rive
Learn to import animated assets from Rive as we incorporate an animated button and a background animation featuring shapes and blur effect
3:33
110
Gradient Text
Learn how to add gradient text with the foregroundStyle modifier
1:17
111
Expanding View
Learn to add an animation to an expanding view that, upon being clicked, will open up by rotating and revealing four additional views
9:40
112
Mesh Gradient in SwiftUI
How to create and animate mesh gradients using SwiftUI
4:45
113
Parallax ScrollView
Learn how to transform a basic ScrollView by adding a stunning parallax effect2
6:17
114
Navigation Transition in SwiftUI
Animate view transitions using Navigation Transition. Simpler version of Matched Geometry Effect.
5:32
115
Text Transition with Text Renderer in SwiftUI
Text and blur transitions using the new Text Renderer API in SwiftUI
7:18
116
Font Weight Animation in SwiftUI
Animate the font weight between two states across multiple lines
3:29
117
Ripple Visual Effect Interaction with Metal Shader
Create a stunning ripple visual effect for a simple card interaction using Metal Shaders and SwiftUI
3:30
118
Custom View Modifier in SwiftUI
Reuse view configurations, such as drop shadows, background styles, and overlays
2:39
119
Progressive Blur in SwiftUI
Using a component applied to a background modifier, we'll dynamically adjust the blur radius and position of the gradual blur
4:29
120
Numeric Text Animation using ContentTransition
Create smooth animations for changing numeric values using SwiftUI's contentTransition modifier
121
Image Gallery, HueRotation and Swipe Gesture
Learn to build an interactive image gallery in SwiftUI with smooth transitions, gesture controls, and dynamic animations
24:45
Learn by doing
What you'll build
Redesign your existing app or start from scratch as you follow along and learn the techniques.
Templates and source code
Download source files
Download the videos and assets to refer and learn offline without interuption.
Design template
Source code for all sections
Video files, ePub and subtitles
Browse all downloads
What's included?
All courses come with downloadable files to help you design, code and follow the course offline.
300+ hours of video
Subtitles in English, Chinese
Source files, ePub
UI, icons, illustrations
Premium, support chat
Source files
Design templates and source code files are included to help you learn.
ePub files
Read offline using Books for iOS, Mac or other apps that can read this format.
Video files
Download the videos so that you can watch later or offline using any video player.
Meet the instructors
We all try to be consistent with our way of teaching step-by-step, providing source files and prioritizing design in our courses.
Meng To
I design, code and write
Meng To is the author of Design+Code. Meng started off his career as a self-taught designer from Montreal and eventually traveled around the world for 2 years as his US VISA was denied. During his travels, he wrote a book which now has 35,000 readers.
38 courses - 178 hours
Create your Dream Apps with Cursor and Claude AI
Learn to build your dream web apps from the ground up using Cursor, Claude AI, and a suite of powerful AI tools. This course covers everything you need, including React for frontend development, Firebase for backend integration, and Stripe for handling payments. You’ll also dive into advanced AI tools like Claude Artifacts, Galileo AI, v0.dev for UI, Ideogram for design generation, and Cursor Composer for full-scale development.
5 hrs
Build a React Site from Figma to Codux
In this course, you'll learn to build a website from scratch using Codux, starting with a Figma template. You’ll master responsive design, collaborate with developers on a real React project, export CSS from Figma using Locofy, set up breakpoints with media queries, add CSS animations, improve SEO, create multiple pages with React Router, and publish your site. By following best practices, you’ll bridge design and development, improve your web design skills.
2 hrs
Create 3D UI for iOS and visionOS in Spline
Comprehensive 3D Design Course: From Basics to Advanced Techniques for iOS and visionOS using SwiftUI
3 hrs
Master No-Code Web Design with Framer
In this free Framer course, you'll learn to create modern, user-friendly interfaces. Start with dark mode and glass designs, then move from Figma to Framer, using vectors and auto layout for responsive websites. Add animations, interactive buttons, and custom components with code. Finally, you'll craft a design system suitable for teamwork or solo projects, all in a straightforward and practical approach.
4 hrs
Build SwiftUI Apps for iOS 17
In this course, we’ll be exploring the fresh and exciting features of SwiftUI 5! As we craft a variety of iOS apps from the ground up, we'll delve deep into the treasure trove that is SwiftUI's user interface, interactions, and animations.
4 hrs
Build Beautiful Apps with GPT-4 and Midjourney
Design and develop apps using GPT-4 and Midjourney with prompts for SwiftUI, React, CSS, app concepts, icons, and copywriting
4 hrs
Build SwiftUI apps for iOS 16
Create animated and interactive apps using new iOS 16 techniques using SwiftUI 4 and Xcode 14
5 hrs
Build a 3D Site Without Code with Framer
Design and publish a responsive site with 3D animation without writing a single line of code
3 hrs
Create 3D Site with Spline and React
Design and code a landing page with an interactive 3D asset using Spline and CodeSandbox
1 hrs
Build an Animated App with Rive and SwiftUI
Design and code an iOS app with Rive animated assets, icon animations, custom layouts and interactions
3 hrs
Build a SwiftUI app for iOS 15 Part 3
Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more
4 hrs
Build a SwiftUI app for iOS 15 Part 2
Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more
3 hrs
Build a SwiftUI app for iOS 15
Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more
4 hrs
React Livestreams
Learn how we can use React Hooks to build web apps using libraries, tools, apis and frameworks
4 hrs
Design Founder Livestreams
A journey on how we built DesignCode covering product design, management, analytics, revenue and a good dose of learning from our successes and failures
2 hrs
SwiftUI Advanced Handbook
An extensive series of tutorials covering advanced topics related to SwiftUI, with a main focus on backend and logic to take your SwiftUI skills to the next level
4 hrs
iOS Design Handbook
A complete guide to designing for iOS 14 with videos, examples and design files
2 hrs
SwiftUI Handbook
A comprehensive series of tutorials covering Xcode, SwiftUI and all the layout and development techniques
7 hrs
Build a web app with React Hooks
Learn how we built the new Design+Code site with React Hooks using Gatsby, Netlify, and advanced CSS techniques with Styled Components.
4 hrs
UI Design Handbook
A comprehensive guide to the best tips and tricks for UI design. Free tutorials for learning user interface design.
2 hrs
Figma Handbook
A comprehensive guide to the best tips and tricks in Figma
6 hrs
SwiftUI for iOS 14
Build a multi-platform app from scratch using the new techniques in iOS 14. We'll use the Sidebar and Lazy Grids to make the layout adaptive for iOS, iPadOS, macOS Big Sur and we'll learn the new Matched Geometry Effect to create beautiful transitions between screens without the complexity. This course is beginner-friendly and is taught step-by-step in a video format.
3 hrs
SwiftUI Livestreams
This is a compilation of the SwiftUI live streams hosted by Meng. Over there he talks and teaches how to use design systems, typography, navigation, iOS 14 Design, prototyping, animation and Developer Handoff.
19 hrs
UI Design Livestreams
This is a compilation of the UI live streams hosted by Meng. Over there he talks and teaches how to use design systems, typography, navigation, iOS 14 Design, prototyping, animation and Developer Handoff.
26 hrs
UI Design for Developers
In this course we'll learn how to use design systems, set up break points, typography, spacing, navigation, size rules for adapting to the iPad, mobile and web versions, and different techniques that translate well from design to code.
3 hrs
Build an app with SwiftUI Part 3
This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.
4 hrs
Build an app with SwiftUI Part 2
This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.
4 hrs
Build a full site in Webflow
Webflow is a design tool that can build production-ready experiences without code. You can implement CSS-driven adaptive layouts, build complex interactions and deploy all in one tool. Webflow also comes with a built-in content management system (CMS) and Ecommerce for creating a purchase experience without the need of third-party tools.
3 hrs
Advanced Prototyping in ProtoPie
ProtoPie is a cross-platform prototyping tool that creates prototypes nearly as powerful as those made with code, with half of the efforts, and zero code. It's perfect for designers who want to quickly experiment with advanced interactions using variables, conditions, sensors and more.
3 hrs
Build an app with SwiftUI Part 1
This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.
4 hrs
React Native for Designers Part 2
React Native is a popular Javascript framework that builds on top of React by using native components to create a real mobile app indistinguishable from one made using Xcode or Android Studio. The main difference with native development is that you get to use CSS, hot-reload, Javascript and other familiar techniques that the Web has grown over the past decades. Most importantly, you're building for both iOS and Android using the same codebase.
3 hrs
React Native for Designers
React Native is a popular Javascript framework that builds on top of React by using native components to create a real mobile app indistinguishable from one made using Xcode or Android Studio. The main difference with native development is that you get to use CSS, hot-reload, Javascript and other familiar techniques that the Web has grown over the past decades. Most importantly, you're building for both iOS and Android using the same codebase.
5 hrs
Design System in Figma
Learn how to use and design a collaborative and powerful design system in Figma. Design Systems provide a shared library of reusable components and guidelines and that will let you build products much faster
3 hrs
React for Designers
Learn how to build a modern site using React and the most efficient libraries to get your site/product online. Get familiar with Grid CSS, animations, interactions, dynamic data with Contentful and deploying your site with Netlify.
3 hrs
Swift Advanced
Learn Swift a robust and intuitive programming language created by Apple for building apps for iOS, Mac, Apple TV and Apple Watch
9 hrs
Learn Swift
Learn Swift a robust and intuitive programming language created by Apple for building apps for iOS, Mac, Apple TV and Apple Watch
4 hrs
Learn Sketch
Learn Sketch a design tool entirely vector-based and focused on user interface design
5 hrs
Learn iOS 11 Design
Learn colors, typography and layout for iOS 8
1 hrs
Stephanie Diep
iOS and Web developer
Developing web and mobile applications while learning new techniques everyday
7 courses - 36 hours
Build Quick Apps with SwiftUI
Apply your Swift and SwiftUI knowledge by building real, quick and various applications from scratch
11 hrs
Advanced React Hooks Handbook
An extensive series of tutorials covering advanced topics related to React hooks, with a main focus on backend and logic to take your React skills to the next level
3 hrs
SwiftUI Concurrency
Concurrency, swipe actions, search feature, AttributedStrings and accessibility were concepts discussed at WWDC21. This course explores all these topics, in addition to data hosting in Contentful and data fetching using Apollo GraphQL
3 hrs
SwiftUI Combine and Data
Learn about Combine, the MVVM architecture, data, notifications and performance hands-on by creating a beautiful SwiftUI application
3 hrs
SwiftUI Advanced Handbook
An extensive series of tutorials covering advanced topics related to SwiftUI, with a main focus on backend and logic to take your SwiftUI skills to the next level
4 hrs
React Hooks Handbook
An exhaustive catalog of React tutorials covering hooks, styling and some more advanced topics
5 hrs
SwiftUI Handbook
A comprehensive series of tutorials covering Xcode, SwiftUI and all the layout and development techniques
7 hrs
Flutter
Certificate
Figma
Certificate
SwiftUI
Certificate
UI Design
Certificate
Create a profile
Get certificates
After passing a test, we’ll award you with an online certificate. You can add them to your profile after completing the courses.
Stories
How students learned from our courses
See what people have learned and built by taking courses from Design+Code
Mike Ekkel
Frontend Engineer at Bynder
Mike Ekkel
Frontend Engineer at Bynder
What I really like about @MengTo's SwiftUI course is how he introduces you to awesome use cases for so many of the view modifiers. While this scroll animation is straight from the course, you can imagine all the cool things you could do with it!
Haawa
iOS Developer
Haawa
iOS Developer
Hey MengTo, I launched my iOS/watchOS app RunnerGoal almost completely built with SwiftUI. Thank you for the design lessons and many controls and animation that I used from you SwiftUI course. Man bowing deeply.
Artem Adams
Artchitect at IBM
Artem Adams
Artchitect at IBM
Learned a lot from your course to port my app from #AppleWatch to #iPhone, #iPad and #Mac. All SwiftUI, one code base, iCloud, learn words with Widgets.
Anthony Collurafici
Designer
Anthony Collurafici
Designer
Simple Ratio is Live! After years of designing apps, I can finally say I built my own. Big thanks to Meng To for getting me started with SwiftUI.
Roy van Rooijen
Creator of Sketch Runner
Design+Code 1 got me fully into using Sketch and I’m amped to discover what’s new in this sequel. Thanks so much for creating it and keep up the great work!
Andy Barnes
Product Designer working in London
Easy to follow but incredibly insightful tutorials. Makes learning new software and techniques and real pleasure everyday! Keep up the good work. 👏