![Deep Dive iOS 16 Swift - SwiftUI Programming [Video]](https://content.packt.com/V19864/cover_image_small.jpg)
Deep Dive iOS 16 Swift - SwiftUI Programming [Video]
Subscription
FREE
Video + Subscription
$15.99
Video
$99.99
What do you get with a Packt Subscription?
What do you get with a Packt Subscription?
What do you get with Video + Subscription?
What do you get with a Packt Subscription?
What do you get with eBook?
What do I get with Print?
What do you get with video?
What do you get with Audiobook?
Subscription
FREE
Video + Subscription
$15.99
Video
$99.99
What do you get with a Packt Subscription?
What do you get with a Packt Subscription?
What do you get with Video + Subscription?
What do you get with a Packt Subscription?
What do you get with eBook?
What do I get with Print?
What do you get with video?
What do you get with Audiobook?
-
Free ChapterIntroduction
-
Swift Programming Language Fundamentals
- Introduction to Swift Fundamentals
- Variables and Let Constants
- String Arrays and For Loops
- Structs and Arrays of Structs
- Optionals, If, If Let
- A Note about Line Breaks
- Int, Double, Float, Type Of
- Division, Modulo, More For Loops and If Statements
- Simplify the Code with a Function
- Multiline Strings
- More on Loops (For, While, and Repeat)
- The Guard Statement
- Tuples and Named Tuples
- Enumerations
- Named Enumerations
-
The Greetings App
- Introduction to the Greetings App
- Introducing Modifiers
- More Text Views in a VStack
- Adding a View
- Adding a Struct and an Array of Structs
- Simplifying the Code with the ForEach View
- Add the Greeting Title and Some Spacers
- Cleaning Up the Code by Refactoring and Adding a Background Color
- Adding a Cool Gradient Background
- Random Color on Tap Gesture
- Rotation Animation of a Circle Using a @State Variable
- Creating a Random Caption
- Dark Mode
- Creating an App Icon
- Resizing the App Icon
- Clear the Background of the App Icon
- Create a Launch Screen
- Adding Documentation to the Views
- Localizing Your App
- Adding Yet Another Language to the App
- Change Language in Preview and Simulator
- Code Factorization and Some Thoughts on Landscape Mode and iPad Support
- Landscape Views
- Adapting to Portrait and Landscape Mode
- Supporting iPad
- Final Touch - Search Project - iOS 16
- Programmatically Change Current Language
- Persist Current Language
- An Interesting Question: Color.orange Versus .orange?
- Appendix: Alternative Way to Generate an App Icon
- Mark, Todo, Minimap, and Navigation
- Appendix: Preview Discussion
-
SwiftUI Basics
- SwiftUI Basics: HStack, VStack, ZStack, Colors, and Gradients
- State Variables, Let Constants, Tap Gesture
- MultilineTextAlignment, Rotations in 3D
- SwiftUI Basics Animate Font
- Exploring Grids in iOS 16
- Navigation Stack and Textfield
- Animate Everything
- Simple List Example
- Video Exercise: Arithmetic Progression
- Exploring Xcode's Library Part 1
- Exploring Xcode's Library Part 2
-
Exploring Images and AsyncImage
- Import Images and Creating Useful Enums
- Image Scale to Fit Versus Fill
- Aspect Ratio
- Scroll and Iterate Through Images
- Scroll and Overlay with Ease in Animation
- Introducing AsyncImage
- AsyncImage Continued
- Simplifying the AsyncImage Code
- Images and LazyVGrid
- Video Exercise: Play/Pause Image
- Solution: Play/Pause Image
-
Xcode Code Snippets
- Code Snippets
- Page Tabbed View
- Button Snippets
- Gradient Text and Masks
- Fitting the Gradient to the Text
- Nice View Snippets
- Image URL Snippet
- Awesome Three Button Default Snippet
- Animate Font, Font Weight, and Foreground Color
- Random Colors and Random Background Color
- Random Colors and Random Background Color
-
Cool and Interesting Questions
- NavigationStack - Replace Back Button - Part 1
- NavigationStack - Replace Back Button - Part 2
- NavigationStack - Replace Back Button - Part 3
- FlexToGrid Challenge 50 25 25 Split
- NavigationStack Title Color
- Drag Image from Above - Part 1
- Drag Image from Above - Part 2
- Drag Image from Above - Part 3
- Multi-Color Glowing Border Using Trim
- Generic ToolTipView Using LongPressGesture
- Challenge: Trimmed Split Capsule
- Chocolate View - Part 1
- Chocolate View - Part 2
-
Calculator Supporting Light and Dark Mode
- Introduction to the Light and Dark Mode Calculator
- Calculator - Getting Started
- Dribble Design and Selecting the Calculator Colors
- Dark and Light Mode
- Colors for Moon and Sun
- Continue Main Calculator View
- Implement Sun Moon View
- Implementing the Computation View
- The Enumerations
- Button View
- Buttons Model and Calcs Button View
- String Helper Functions
- Implementing the Calculator Logic - Part 1
- Implementing Equality Logic
- Implementing the Decimal Point Logic
- Refactoring Code
- iPad Detection
- Adapting to iPad - Part 1
- Adapting to iPad - Part 2
- UIScreen - Begone!
- No Symbol Found - Away!
-
Introduction to the MVVM Design Pattern with Recipes
-
FizzBuzz and Programs That Write Programs!
-
Create a Color Extension Based on an HTML Page
-
Exploring Charts
- Introduction to Charts
- Folder Structure and Arc View
- Random Arc from Color List View
- Color Button View
- Color Button Test and Bar Chart - Part 1
- Color Button Test and Bar Chart - Part 2
- Reorganize Chart Series - End of Chart Demo 1
- Demo 2 - First Exploration of Bar Charts, Annotations, Chart Scale, ChartXYAxis
- Foreground Style, Multiple Groups
- Legend Visibility and Legend Position/Alignment
- Demo 3 - ForEach, Custom Colors
- Demo 3 - Bar, Line, Area Charts
- Demo 3 - Toggle Vertical and Horizontal Mode
- Demo 3 - Random Colors - Part 1
- Demo 3 - Random Colors - Code Refactorization
- Demo 3 - Random Colors - Complete the Bar Chart
- Demo 4 - Getting Started
- Demo 4 - Adjusting View, Adding Title with Alignment
- Demo 4 - Title Alignment Button
- Demo 4 - Supporting Edit Mode, Add Share Button
- Demo 4 - Draggable Rule Mark - Part 1
- Demo 4 - Draggable Rule Mark - Part 2
- Demo 4 - Draggable Rule Mark - Part 3
- Demo 4 - Adding an Annotation for Edit Mode
- Demo 4 - ChartItem Struct
- Demo 4 - Refactoring with the Amazing ChartItem
- Demo 4 - Refactoring LeftChartButtonsView
- Demo 4 - Refactoring RightChartButtonsView
- Demo 4 - Refactoring Bar Chart Horizontal View
- Demo 4 - Refactoring LineChartHorizontalView
- Demo 4 - ChartDrag View modifier
- Demo 4 - Refactoring LineChartVerticalView
- Demo 4 - Combine Line and Area Views
- Demo 4 - Yes! It Works!
- Demo 4 - Adjusting Color Button for Line and Area Views
- Demo 4 - Edit Title and Add Border
- Funnel Chart Exercise
- Funnel Chart Solution
-
Alarm App
- Create the Alarm Project
- Creating the App Icon
- Folder Structure
- Localization
- Color Palette
- Time of Day Icon - Part 1
- Time of Day Icon - Part 2
- The Time Model
- Time and Date Support
- The Alarm Model
- Dummy Alarm Data
- Splash Screen View Structure
- Splash Screen: Animated Circles Subview
- Four Cool Circles View
- Splash Screen: Animate Four Cool Circles
- Cool Text View and Custom Fonts
- Import Image and Complete Splash Screen
- Enable Notifications View - General Structure
- MainGradient, ButtonView, and Complete Enable Notifications View UI
- About View
- Add and Edit Alarm - Part 1 - You Did It View
- Add and Edit Alarm - Part 2 - ToBedWakeUpView
- Cancel and Save Buttons
- Alarm Toggle View - Part 1
- Time Picker
- Select Activity View
- SelectActivityView - Part 2
- Back to the Main Alarm View
- Create List of the Alarms View
- List of the Alarms View Continued
- Alarm Row View
- Create AddEditCircularAlarmView
- CentralDatePickerView
- Circular Time View Computed Properties
- TimeArcView
- DisplayIconOnCircularTimeView
- MainAddEditView
- Replacing Context Menu with Menu
- Add Border to Select Activity View
- Select Activity View Expanded - Row of Circles
- Select Activity View Expanded - Row of Activities
- Select Activity View Expanded - In Action
- Extending Localized Strings and Adding More Languages
- Local Notification Manager
- Enable Notifications and Scene Phase
- Adding the Alarm Model and Saving State
- Get Pending Alarms
- Sounds, Play Sounds, Sounds UI - Part 1
- Sounds, Play Sounds, Sounds UI - Part 2
- Sounds, Play Sounds, Sounds UI - Part 3
- Sounds, Play Sounds, Sounds UI - Part 4
- Sounds, Play Sounds, Sounds UI - Part 5
- Cleaning Up ToBedWakeUpView
- List of Alarms and Alarms Row View - Connect to Backend
- List of Alarms View Continued
- Adding Schedule to Local Notification Manager
- Adding Schedule to Local Notification Manager Continued
- Remove Request
- Connecting Backend to List of Alarms View
- CancelSaveAlarm Functionality
- CancelSaveAlarm - Schedule Alarm on Save
- Add Sheet to ListOfAlarmsView and Add Backend to AddEditAlarmView
- Binding currentAlarmIndex and Using Breakpoints
- Foreground Local Push Notification
- ListOfTheAlarmsView - Sheet for Add Alarm Button
- Prepare Groundwork for AddEditCircularAlarmView
- Choose Alarm View
- Get Circular Alarm View in the Picture
- Improve UX - AlarmRowViewButton
- Tweak Alarm Model and Connect Circular Alarm View
- Toggle Between Circular and Standard View
- Toggle Add Edit Alarm Type - Image Display View
- Toggle Add Edit Alarm Type - Select View
-
Conway's Game of Life
- Introducing John Conway's Game of Life
- General Structure of the Main View
- Cool Title View
- Introducing the Board Model
- BoardModel: GetCreature and Vitality
- Introducing the Board View
- Completing the Board View
- Supporting Methods for Next Generation
- Implementing Next Generation
- Putting It All Together - Minimal Viable Product
- Introducing the Controls View
- Adding a Slider and Play Pause Button to the Control View
- ButtonView and Play, Refresh, Clear Buttons
- Completing the Control View
- Play / Pause Button Implementation
- Implementing Speed
- Rules View - Structure
- Rules View - Part 2 - Structure
- Rules View - RoundButtonView
- Rules View - GlowingCard View Modifier
- Rules View - RulesCheckboxView
- Rules View - ToggleButtonView
- Rules View - Completed
- Information View
-
Body Shape UI Challenge
- Introduction - Body Shape UI
- Getting Started and Selecting Colors
- Icon Right
- Welcome Message View
- Weight View Part 1
- Weight View Part 2 Adding FillBarView
- Data Summary View Row 1
- Data Summary View Row 2
- Data Summary View Row 2 Part 2
- Buttons View
- Introduction to Body Shape UI Splash Screen
- Body Shape UI Challenge Splash Screen View
- Results View - Getting Started
- Results View - Create Top Row
- Calendar Bar View - Part 1
- Calendar Bar View - Vertical Dot Bar - Part 2
- Calendar Bar View - Vertical Dot Bar isSelected - Part 3
- Calendar Bar View - Vertical Dot Bar adjustments - Part 4
- Calendar Bar View - Add Vertical Dot Bar - Part 5
- Calendar Bar View - Add Vertical Dot Bar - Part 6
- General Structure and New Components
- Main Activities View - Part 1
- Main Activities View - Part 2
- Completing Current Activities View
- Heart Rate View
- Complete Result View - Yes!
-
Brevis App - Hotkeys
-
Tip Calculator
- Supporting Light and Dark Mode
- Sine Path
- Localizable Strings
- Enter Total View
- Choose Tip View
- ChooseTipView - Adding State and Bindings
- Implementing Split Bill
- Payment Summary View
- Payment Summary View - Computed Properties
- Cleaning Up the View
- Custom Tip View
- App Icon of Tip Calculator
- Tap Out of TextField
- Change Display Name of Calculator
- Human Interface Guidelines Layout
- Supporting Landscape and Portrait Mode
- Tip Calculator - iPad Support
-
Flashcards App
- Create Flashcard Project
- Creating the Models
- Import Images
- Creating the QuestionViewModel
- Creating the FlashCardViewModel
- TwoSidedBackgroundView
- FillBar View
- FlashItem View
- Header View
- TextAndOptionalImage View
- Card View
- Topic View
- The Questions View
- Creating the App Icon
- Magnification Gesture
- iPad Support for Flashcard App
-
Mystic Puzzle
- Creating the Puzzle Model
- Adding Documentation to the Model
- Adding the View Model and Adding Extensions to CGPoint
- Adding Tiles to the View
- Adding Some More Tiles
- Adding Digits to the View
- Adding the Two-Digit Numbers to the View
- Add Background Images
- Add a Custom Font
- Move Tile on Tap
- Shuffle Tiles
- Adding Buttons
- Implementing the done() Function
- Adding a Sound Effect
- Saving State
- Add an App Icon
-
Quote of the Day App
- Warming Up with an Awesome View
- Getting Started with the Main Quote App
- Random Quote API and the Quote Model
- The Quote View
- The Quote View Model
- Putting It All Together
- MVP Completed
- Import Images
- Select Image View
- Select Font View
- Import Custom Font
- Add Fonts to Select Image View
- Dealing with Large Quotes
- Sliders for Text Opacity and Size
-
Speed Code a Chill Meditation App
-
Meditation App - Frontend
-
Finance App UI
- Introduction - Finance App
- Getting Started with the About View
- Color Palette and the Avatar View
- ChoicesView Using a List of Custom Labels
- About View - Final Tweaks and Adding an Optional Description
- CreditCardView - Import EMV Chip from Figma
- CreditCardView - The Chip
- CreditCardView - Working on the View
- CreditCardViewPage
- CreditCardViewPage Continued
- CreditCardViewPage Completed
- CreditCardView - TopView
- CreditCardView - Adding Folders
- CreditCardView - TransactionView
- CreditCardView - Import Icons from FlatIcons
- CreditCardView - Using Icons
- YourBalanceView - Getting Started
- YourBalanceView - First Steps
- YourBalanceView - Designing the Header
- YourBalanceView - Designing the Amount View
- YourBalanceView - Actions View
- YourBalanceView - Action of the Week View
- YourBalanceView - Monthly Expenses View
- YourBalanceView - Monthly Expenses View Completed
- YourBalanceView - Monthly Expenses View Refactoring Bar View
- Video Exercise (Apple Fitness Exercise UI)
- IMPORTANT!
- Solution - Part 1
- Solution - Part 2
- Solution - Part 3
- Solution - Part 4
- Solution - Part 5
- Solution - Part 6
-
Multilingual Animals
-
Task Manager UI Exercise
- Part 1 - The Getting Started View
- The Color Palette
- Create the Avatar View
- Cleaning Up the Code
- Creating a Custom Shape
- Adding a Navigation View
- Code Refactoring and Adding Multiple Views
- Dark Mode
- Part 2 - The Monthly Review View
- The Circle Avatar
- Completing the Top Avatar View
- Concentric Circles Using ForEach and ScaleEffect
- Mobile App Design View
- Monthly Review Title View
- Task Summary View
About this video
This beginner-to-advanced course focuses on iOS 16 programming using the Swift language and SwiftUI framework. This project-based course teaches about the features of the language and creating apps using the MVVM software design pattern hand in hand with SwiftUI and iOS 16 development. You will learn to efficiently use Xcode 14, navigate, and use hotkeys and code snippets.
The course covers fundamentals of iOS and then uses this to create apps as possible using these basics. We will explore programming basics, that is, variables, constants, arrays, loops, structs, conditionals, basic data types, guard, tuples, and enumerations. We will then advance to HStack, VStack, ZStack, gradients, colors, text, alignment, frames, rotations, grids, images, and AsyncImage. We will examine working with code snippets to write programs more efficiently. We also cover useful topics in these sections such as page tabbed views, background colors, buttons, gradient text and masks, nice default views, avatars, clickable images that link to a website, and so on.
Upon completion of the course, you will create apps independently like the greetings app, tip calculator, recipes app with MVVM pattern, Fizz Buzz, alarm app, Conway’s Game of Life, Brevis app iOS development, multilingual animals, and various user interfaces.
- Publication date:
- June 2023
- Publisher
- Packt
- Duration
- 54 hours 17 minutes
- ISBN
- 9781805121770