
Explore over 100 SwiftUI recipes to build iOS apps, covering lists, grids, gestures, data flow with MVVM, navigation, Core Data, Firebase, and iOS 15 features.
Ensure you have macOS, Xcode 12 or above, and knowledge of iOS app architecture; the recipe-style course presumes Swift and SwiftUI familiarity for task-focused learning.
Define what a recipe is in programming as a small, task-focused problem-solving approach, with examples like rotating a view, displaying sections, blurring views, and connecting to core data in SwiftUI.
Explore exercise files for every lecture, download the associated and completed code, and run them in the correct Xcode version to see the app in action.
Learn to display items in a SwiftUI list using ranges, numbers, and custom objects. Implement unique IDs with id, identifiable, and uuid, then show indices beside names in a stack.
Display alternate row styles in a SwiftUI list by using the item index to color even and odd rows, applying backgrounds with an HStack and spacers.
Learn to build a dynamic SwiftUI list by adding, deleting, and moving items through a text field, an editable list, and a toolbar edit button.
Learn to hide the list separator in SwiftUI by using the list row separator style hidden, removing row separators to create a card-like UI with a single line of code.
Learn to display grouped information in a SwiftUI list by modeling posts with comments, using a grouped list style, and nesting loops to show each post header and its comments.
Learn how to change the background color of SwiftUI lists and scroll views, using the appearance protocol and list row background, plus strategies with lazy stacks and for each.
Learn to filter a SwiftUI list in iOS 15 using a searchable bar and onChange to filter places by name.
Learn to make the complete list row clickable in SwiftUI by using an optional selected index state, handling taps, and applying a content shape so the whole row responds.
Learn to automatically scroll a SwiftUI list using ScrollViewReader and a proxy to scroll to a specific item by its id, with optional animation.
Add swipe actions to a swiftui list using swipeActions on leading and trailing edges, customize with buttons, labels, and icons, and enable a full swipe with tint color.
Learn to enable multi-select in a SwiftUI list by using edit mode, a bindable set of selected customer IDs, and a dynamic count displayed in the navigation bar.
Learn to build collapsible headers in a SwiftUI list by toggling an expanded state and a selected name to reveal hikes under each place, with chevrons indicating collapse.
Enable infinite scrolling in SwiftUI by fetching paged JSON data from a Node Express server and appending results with an MVVM view model.
Learn to add checkboxes to a SwiftUI list by displaying a fruits array and toggling selection with taps, using system square and square.fill icons.
Create a radio button list in SwiftUI by displaying choices in a list and using system circle icons, with a single-selection selectedChoice state updated on tap.
Learn to build grids in swiftui with fixed, flexible, and adaptive columns using lazyvgrid; create three fixed 100-point columns, then explore dynamic layouts that adapt to orientation and screen size.
Learn to create pinned section headers in a lazyvgrid by using flexible columns, adding section headers, and arranging items into multiple sections with a scroll view and navigation view.
Learn to implement hero animation with matchedGeometryEffect in SwiftUI by tapping grid items to expand into a detail view, using a lazy grid, symbols, and spring animations.
Create a dynamic tags view in SwiftUI that wraps a horizontal stack into multiple lines using grouped items and width calculations. Learn to style, padding, and optionally scroll the tags.
Format date and time in SwiftUI using now.formatted with diverse date and time styles, including omitted, standard, abbreviated, long, numeric, and ISO 8601 formats, plus day, month, and year options.
Format lists in SwiftUI with the list modifier, displaying names or numbers using and/or operators, currency and percent styles, and localized formats across regions.
Display a cat image, enable resizing with aspect ratio fit, and implement a magnification gesture to adjust the zoom factor via a scale effect for smooth, interactive zoom.
Learn how to rotate a view in SwiftUI using rotationEffect, updating a state variable by 90 degrees with a button, and adding a default animation.
Drag a view in SwiftUI using a resizable image and drag gesture; update the position with onChange and onEnded, and see the danger area switch from green to red.
Learn to implement a 3D rotation flip for a SwiftUI card with rotation 3D effect, tapping toggles a flipped state and animates along x, y, or z axis.
Learn to pass data from a child view to a parent view using @Binding by presenting a sheet and binding a shared state in SwiftUI.
Delve into implementing global state with SwiftUI by using an observable Counter class and injecting it via @environmentObject, enabling shared updates across green and red counter views.
Explore safe optional bindings in SwiftUI to display optional strings by unwrapping with nil coalescing, map, and if let, while avoiding force unwraps.
Attach the on change modifier to a toggle view to react to changes in is light on; print light is on when true and light is off when false.
Learn to subscribe to iOS notifications using SwiftUI's onReceive modifier, post custom notifications with NotificationCenter, and update the UI via state in response to changes.
Create a custom URL image view in SwiftUI using an observable image loader that downloads image data and updates the UI on the main thread, with a placeholder during loading.
Learn to use app storage to persist a dark mode toggle by binding a boolean isOn to user defaults, so the background updates and persists across restarts.
Learn to create gradients in SwiftUI using linear, radial, and angular gradients, customize start and end points, and apply them to backgrounds and controls with color arrays.
Create rounded corners in SwiftUI by using the cornerRadius modifier or clipping with a rounded rectangle or circle, and fine-tune with padding and foreground color within a horizontal stack.
Explore creating basic shapes in SwiftUI, including circle, rounded rectangle, capsule, ellipse, and lines via path, with fill colors, frames, corner radius, and strokes.
Learn to draw a line chart in SwiftUI by mapping historical stock prices to a line path, display x-axis labels, and arrange the chart with a bottom-oriented layout.
Learn to create a reusable bar chart view in SwiftUI by passing values and labels, render bars in a horizontal stack, and use a scroll view for many data points.
Build a SwiftUI rating control by creating a rating view that uses a bindable rating, a five-star horizontal stack, tap gestures, and SF Symbols for filled versus empty stars.
Discover how to apply blur in SwiftUI with the blur modifier and ZStack, and compare UI visual effect view approaches using materials in iOS 15 to create see-through effects.
Learn to navigate to a detail view by tapping a button in SwiftUI, using a navigation view and a NavigationLink bound to isActive, and push the detail screen when activated.
Learn to pass data from a SwiftUI list to a detail view using a navigation link, by giving the detail view a constructor parameter and displaying the selected customer.
Learn to perform an unwind navigation in SwiftUI by jumping from view c back to view a using a bound is active property and a root active binding.
Learn to add bar item buttons to a navigation view by configuring leading and trailing items, using buttons with system images, and handling clicks.
Add an image to the navigation bar by using a toolbar item with principal placement. Display a leaf image with an image view and color it using foreground color.
Color the navigation bar in SwiftUI by expanding the view to fill the screen, ignoring safe areas, and using the appearance API to set global foreground and background colors.
Discover how to implement pagination in SwiftUI using a tab view, switch to page tab view style, and enable a page index with dots to navigate three example views.
learn how to replace deprecated navigation view with navigation stack, use navigation link and destination to navigate between views, pass hashable values like names or numbers, and display dynamic destinations.
Learn programmatic navigation in a navigation stack using a bindable routes array. Define a hashable route enum, wire it to navigationDestination, and push view A or view B.
Configure SwiftUI Xcode previews to visualize device-specific layouts by selecting preview devices like iPhone 12 Pro Max and iPhone SE, and using preview layout size that fits.
Learn how Xcode previews render dynamic fonts by adjusting the environment size category across all cases, and use preview display names to identify each size.
Populate Xcode previews with json-based sample data by reading a bundled json dish file through a sample provider, decoding it into a Dish model for image, title, and description.
Create Xcode previews for UIKit apps by wrapping a view controller in a view controller representable and using a preview provider to display a centered image.
Learn to present and dismiss a SwiftUI sheet using isPresented, binding, and content, add a close button, and handle onDismiss for post-dismiss actions.
Discover how to open multiple sheets in a SwiftUI app by using an optional active sheet enum with add item and show item cases, bound to the sheet modifier.
Explore building a flexible sheet in SwiftUI that supports quarter, half, and full screen modes. Pass custom views via a view builder and control visibility with a bindable sheet mode.
SwiftUI is Apple's new framework for building next generation iOS, macOS, watchOS and tvOS applications. If you have been developing apps using UIKit then you will find SwiftUI to be quite different. This course is designed to teach you SwiftUI in the form of small tasks called recipes. Each section will cover different aspects of SwiftUI framework and by the end of the course, you will be familiar with all the different features of SwiftUI framework. Let's take a closer look at the contents of the course.
Why should I learn SwiftUI?
SwiftUI is Apple’s new declarative framework for building iOS applications. Apple has made it clear that SwiftUI will be the future framework for building user interfaces for all devices. By learning SwiftUI, you are making an investment in your future. Few years from now, most of the companies will be using SwiftUI for building their modern applications. In order for you to stay relevant as an iOS developer, you must invest time to learn SwiftUI.
What’s inside this course?
- Lists
- Grids and stacks
- Gestures
- Data flow
- Graphics, shapes and paths
- Navigation and navigation bar
- Xcode previews
- Sheets
- Pickers
- Maps 11
- UIKit and SwiftUI interoperability
- SwiftUI and Core Data
- SwiftUI and Firebase
- Testing
One of the benefits of taking this course is that I will be adding new recipes frequently. This means you will get all the new videos, free of charge. Each lecture is accompanied with a downloadable resource, which allows you to quickly test your code.
In this course we’ll find answers to questions like:
“How to rotate a view in SwiftUI?”
“How to connect a SwiftUI app with Core Data?”
“How to perform paging in a List view?”
“How to draw graphs in SwiftUI?”
“How to implement a ratings view in SwiftUI?”
Are there any course requirements or prerequisites?
macOS
Xcode 12 or above
Knowledge of Swift language is required
Familiarly with SwiftUI framework is recommended
Who is this course for?
Anyone who wants to learn Apple’s new user interface framework called SwiftUI.
iOS developers who want to transition from UIKit based apps to SwiftUI apps.
Anybody looking for a problem solution approach for developing iOS applications.
This course is for all developers who want to learn the SwiftUI framework. The course will help you to understand different aspects of SwiftUI development in the form of recipes.
Don’t take my word for it, take a look at some of the amazing reviews for my other courses.
Great course, Azam skips the basic stuff yet does CLEARLY explain the important concepts that most courses miss or fail to provide clear details about. It looks like he keeps the course up to date as well, either by adding updated lessons or notes explaining changes in the swift framework in the notes.
This course was above my expectations indeed. Very valuable, and thank you Azam.
As every course by Azam is awesome, full of information and Great explanations and examples, simply amazing. Azam is such a Great Teacher. If you really want to learn and make good use of your money, he is the right Choice.
Thank you for your continuous support and I really hope you enjoy the course!
Azam