iPhone Duo Split View: Is Your Window Left or Right?
When two windows share iPhone Duo's inner display, neither one is told which side it's on. I built a proof of...
// Tutorials and guides for iOS 16 and later. Explore NavigationStack, SwiftUI Charts, new layout features, and other capabilities introduced in iOS 16.
When two windows share iPhone Duo's inner display, neither one is told which side it's on. I built a proof of...
When iPhone Duo is open, its outer display faces the same way as the rear camera. CameraCaptureAccessory lets...
iOS 27.1 lets you read iPhone Duo's hinge angle and fold status with onHingeChange in SwiftUI and...
iPhone Duo reserves parts of its displays for the fold and the front cameras. Learn which regions exist, when...
ArrangementView is a new iOS 27.1 container that lays out a primary and secondary view side by side or...
On iPhone Duo, toolbars and tab bars move to the side of the screen. Learn when that happens, how to make...
iPhone Duo ships on October 23 with a folding inner display, a compact outer display, and toolbars that move...
iOS 27.2 adds a titleAlignment property to UINavigationItem, so you can pin an inline navigation title to the...
iOS 27.2 changes App Tracking Transparency in the European Union: a full-page prompt with Markdown text, an...
On iPhone Duo, which way a camera points depends on which display your app is on. Here's how the virtual...
iOS 27 brings the poster look from Wallet event tickets to membership cards, loyalty passes, and anything...
UIScreen.main assumes your app lives on one screen with one size. iPhone Duo, iPhone Mirroring, and iPad...
How Form differs from List, how to structure it with Sections, what .grouped and .columns actually change...
Xcode 27 brings monthly subscriptions with a 12-month commitment, a reworked offer code redemption API...
Expose your app's features to Siri, Shortcuts, and Spotlight with App Intents, the Swift-native replacement...
iOS 18 introduced public APIs for building custom container views that can decompose content into individual...
Create interactive buttons for the Control Center using ControlWidgetButton and App Intents in iOS 18.
Add haptic feedback to your SwiftUI views using the sensoryFeedback modifier, with built-in support for...
A practical guide to SwiftUI animations covering implicit and explicit animations, spring physics...
Use ViewThatFits to automatically select the best layout variant based on available space, without writing...
Learn how to use Swift's @Observable macro introduced in iOS 17, understand its advantages over...
Learn how to create beautiful, interactive charts in SwiftUI using Apple's Swift Charts framework, from...
Learn how to test push notifications on iOS simulators without needing a device or server setup using xcrun...
If your Live Activity renders a grey box instead of your image, the problem is almost certainly the image...
Preview Live Activity views right in Xcode without launching the app. Use the #Preview macro with content...
NavigationStack replaced NavigationView in iOS 16 with a more powerful programmatic navigation model. Here's...
Make your glass elements respond to touch with scaling, shimmer effects, and touch-point illumination using...
The cornerRadius modifier is deprecated in iOS 17. Here's how to use clipShape, RoundedRectangle, and the new...
The glassEffectID modifier enables glass views to smoothly morph into one another during state changes...
When you have multiple glass elements that should blend and animate together, GlassEffectContainer...
iOS 26 introduces Liquid Glass, a translucent design language for navigation elements. Here's how to apply...
Learn how to use AlarmKit to schedule alarms and countdown timers that appear on the Lock Screen and Dynamic...
Learn how to use AppStore.ageRatingCode to read your app's current age rating and react to rating changes for...
Learn how to use ToolbarSpacer to add fixed and flexible spacing between toolbar items in SwiftUI, new in iOS...
Learn how to use the presentationDetents modifier to control sheet heights in SwiftUI, creating interactive...
PermissionKit lets children request parental permission to communicate with new contacts directly through...
When building UIs that stream AI-generated content using Apple's Foundation Models framework, testing...
Learn how to add horizontal padding inside a TextEditor without affecting the scrollbar using the...
Learn how to integrate UIKit's App Delegate into your SwiftUI app for handling app lifecycle events and...
Learn how to access SwiftUI environment values in View extensions using ViewModifiers for clean, reusable...
Learn how to dump all SwiftUI environment values for debugging purposes.
Learn how to align single and multiline text in SwiftUI.
Learn how to detect when a context menu is open in SwiftUI.
Learn how to create a WebView/WKWebView with a transparent/clear background in SwiftUI.
Learn how to accept user input in an alert using TextField or SecureField.
Learn how to create a modifier that limits the characters that can be entered in a TextEditor or TextField...
Learn the ways to scale a text view's font size to fit its parent view in SwiftUI.
Learn how to use a WKWebView as a quick way to load a GIF from a URL and display it in a SwiftUI view.
Learn how to use DisclosureGroupStyle to create custom DisclosureGroup views in SwiftUI.
Learn how to force the navigation bar to show a background color in SwiftUI.