Create faster, more reliable, and better-looking apps for iPad, iPhone, and Apple Watch. Get weekly iOS development tips to improve the way you code with Xcode and Swift.
Overview
Syllabus
New This Week:
- So long, and thanks for all the views!
- Welcome
- How to use the exercise files
- Use Xcode Git repositories
- Read and write text files
- Prototyping MapKit in iPad Playgrounds
- Use the Xcode 9 simulators
- Layout and iPhone X
- Use markers instead of pins for map annotations
- Read JSON files
- Copy and paste with the pasteboard
- Create navigation controllers
- Make a camera on iPad
- Tricks with Asset Manager
- Array tricks
- Apple watch and the context menu
- Image and color literals
- Why use uint8?
- Using hex color
- Deep dive into dictionaries
- Tapping a map
- Update old apps
- Using Apple Pencil
- Animated emoji on the Apple Watch
- The navigation bar and back title
- Using property lists
- Using popovers
- Attributed string jazz
- 3D text with SceneKit
- Find a language quickly from text
- UIColor class extensions
- Using Date and TimeInterval
- Time zones and date components
- Timer accuracy
- Animate maps
- Xcode 10 storyboard changes
- Use code snippets
- Changes to playgrounds in Xcode 10
- Permission changes to notifications
- Customizing the tab bar
- The Settings bundle
- Use the speech synthesizer
- Make round buttons
- Recursion and changing UIViews
- Lay out iPad landscape and multitasking apps
- Embed table views
- Make a toggle button
- Drop shadows
- Blur and vibrancy effects
- Inequalities in Auto Layout for storyboards
- Make an animated settings drawer
- Views in playgrounds
- Launch the Settings app
- Draw paths in UIViews
- CALayer masks
- Protocols and time pickers
- Convert strings to time intervals
- Sliders as knobs
- Fix stackview disasters
- Using haptics
- Test flight
- Replacing segmented controls
- Ranges
- Unicode characters
- String and NSString characters
- Thrown errors
- Actions in table views
- Ducking sound in AVAudioSession
- Make and use closures
- Using ARC
- Create a project without a storyboard
- Learn how to rename identifiers
- Add a split-view controller programmatically
- Add dynamic type for accessibility
- Quickly identify a UIColor to RGB or HSB system
- Launch an alert from a closure and what to do about it
- Connect outlets and actions without the Assistant Editor
- Get BASIC with swift strings
- Convert CSV files
- Strings to doubles
- Enums
- Selection in text views
- Generate QR codes
- The ? and ?? operators in Swift
- String interpolation
- Xcode changes
- Use Dark Mode on storyboards
- Use SF Symbols
- Structs
- Quick SwiftUI
- Working with sets
- Segue Actions
- Checkboxes in SwiftUI
- To-do lists in SwiftUI
- Quick Help in SwiftUI
- Models in SwiftUI
- SwiftUI in Xcode Playgrounds
- Keyboard shortcuts for Xcode 11
- Basic PencilKit
- Setter and Getters
- UITextViews and coordinators
- Dark Mode in code
- Candle effects
- Reality Composer
- RealityKit
- NumberFormatter
- Tuples
- Protocols
- Property wrappers
- iPad to macOS
- Type properties
- Singletons and TabViewControllers
- UITabViewControllers in Swift Playgrounds
- Motion effects
- SwiftUI animation
- @Binding in public
- SwiftUI ScrollView
- MapKit points of interest
- UIKit extensions and pseudo SwiftUI
- SF Symbols configuration
- Custom SF Symbols
- Use SwiftUI GeometryReader
- Proportional SwiftUI views
- Button selection panels in SwiftUI
- Custom modifiers in SwiftUI
- Dependency injection
- Xcode themes
- Basic generics
- Selections in watchOS
- ForEach closures in SwiftUI
- SwiftUI borders and shapes
- SwiftUI gradients
- Special parameters
- Overriding operators
- Arrays with map, filter, and reduce
- Basic measurements
- Key paths
- Recursive structs
- Outline views in SwiftUI
- TextEditor and Scribble
- Color pickers
- Local notifications in SwiftUI
- Enums with values
- Changes to enums in Swift
- SwiftUI transitions for modal views
- Date pickers
- SwiftUI labels
- SwiftUI maps
- Collection views for SwiftUI
- Scribble bugs
- The joys of UUID
- SwiftUI swipe gesture
- Holiday special: Let it snow
- Embed images in SwiftUI text
- Make a widget, part 1: Presenting
- Make a widget, part 2: Families
- Make a widget, part 3: Timelines
- UICollectionView lists
- UICollectionView layout
- Menus on UIButtons
- MatchedGeometryEffect modifier
- Multicolor symbols
- Multiplatform Swift UI
- Documents in SwiftUI
- Keyboard shortcut modifier
- Text, Dynamic Type, and accessibility
- Photos picker
- What is Hashable?
- Add stickers to your app
- iPad Playgrounds...for Mac?
- Lazy variables
- Core graphics in SwiftUI
- SwiftUI checkboxes
- Core Graphics datatypes
- Setup for UIKit Drawing
- Practical CGRects
- Paths and contexts in CoreGraphics
- Distance-based graphics in CoreGraphics
- Recursive graphics
- CoreGraphics curves
- SwftUI maps and map zoom
- Maps and auto zoom
- Add pages in SwiftUI
- Closures in structs
- Xcode 13 changes
- New UIButton tricks
- SwiftUI Changes for iOS 15
- SF Symbols 3
- Swfit UI binding in lists
- TimelineView
- SwiftUI image concurrency
- SwiftUI Playgrounds
- Custom widgets with intents, part 1
- Custom widgets with intents, part 2
- Custom widgets with intents, part 3
- Color for accessibility
- UIStackView programmatically
- The new date formatter
- Number formatters
- Links in text
- Accessibility labels
Taught by
Steven Lipton