Table of Content
Introduction
- Install Xcode 14 and SF Symbols
- Introducing Xcode 14
- Xcode 13 Versus Xcode 14
- Take a Tour of Xcode + Hotkeys
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
- MVVM Example - Recipe Model
- MVVM Example - Recipe View Model
- MVVM Example - ListItem View
- MVVM Example - Improving the View
- MVVM Example - ShowRecipeView
- MVVM Example - Touch Up the Image
FizzBuzz and Programs That Write Programs!
- Introduction to FizzBuzz
- Introducing FizzBuzz in the Playground
- The Main View
- The About View
- Background Image View
- Completing the About View
- The FizzBuzz View
- FizzBuzz Algorithm Model
- FizzBuzz Algorithm View Model
- Indent String extension
- Complete the FizzBuzz Model
- Code Creator View
Create a Color Extension Based on an HTML Page
- Introduction to Programmatically Converting HTML to a Color Extension
- Extract Color from HTML Code
- Get Color Name
- Get RGB Color
- Generate Swift Code
- Extending Color
- Random Color Extensions
- Grid of Colors Test
- Video Exercise to Test Your Understanding
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
- Brevis - Creating the Model
- Creating the ViewModel
- Creating the Hotkey View
- Adding a List of Hotkey Descriptions
- Rotate on Tap
- Adding an Image Background
- Adjusting the Detailed View
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
- Chill Meditation App
Meditation App - Frontend
- Getting Started
- Color Palette and the Home Screen
- Creating the Greetings View
- Creating the Chips View
- Current Meditation View
- The Feature View - Part 1
- The Feature View - Part 2
- The Feature View - Part 3
- Tab View - Part 1
- Tab View - Part 2
- Cleaning Up the Code
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
- Getting Started and Creating the Background
- Get Pictures from Pexels
- Resize and Import Images
- Animal Image Enumeration
- The Animal Model
- Speech
- AnimalViewModel
- The Animal Image View
- Language View Model
- AnimateView: Image
- Animate View Buttons
- AnimateView: The Flags
- Creating the App Icon
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
Apply for Certification
https://www.vskills.in/certification/swift-ios-16-programming-certification-course