Subscribe to our monthly newsletter
Get exclusive Swift and SwiftUI tips, project updates, behind-the-scenes insights, and special discounts on our books — all in a monthly email from us.
Invalid email address
Unexpected server error
Subscribed!
Take advantage of the updated search placement and behavior in iOS 26, and implement toolbar and tab bar search patterns that adapt across devices and integrate with the new Liquid Glass design.
Learn how to leverage the new glass appearance for partial sheets in iOS 26, and set up morphing transitions for sheets presented from toolbar buttons using SwiftUI APIs.
Step through the essential setup for AlarmKit timers in iOS 26, from requesting authorization and scheduling a countdown to presenting the Live Activity and an in-app list of active timers.
Starting with Swift 6.2 and iOS 26, EnumeratedSequence conforms to RandomAccessCollection, allowing enumerated() to be used directly in ForEach and List views.
Support large accessibility text by wrapping content in a scroll view, and prevent unnecessary bounce by enabling scrolling only when the content doesn’t exceed the screen size.
Quickly split long function calls or initializers into separate lines using a built-in Xcode shortcut.
SwiftUI uses a localized string matching the image name as the accessibility label, without needing to apply the accessibilityLabel() modifier.
Detect window focus with the appearsActive environment value to adjust UI and handle focus changes.
Implement a high-performance lazy scrolling list in SwiftUI by efficiently reusing views for smooth scrolling with large datasets.
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases.
Explore different ways to work with SwiftUI environment, including reading and setting values, creating custom environment keys, and using the environment to pass down actions and observable classes.
Discover how to use the @Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management.