Nil Coalescing
@NilCoalescing
Followers
2K
Following
477
Media
7
Statuses
464
Mobile and Web Development | iOS and macOS | Swift | SwiftUI | Server Development | Python | Founded by @natpanferova and @hishnash
Central Otago, New Zealand
Joined April 2022
Subscribe to the Nil Coalescing newsletter for a monthly digest of our blog and YouTube content, Swift and SwiftUI learnings from the projects we are working on, and special discounts on our books: https://t.co/Vzbzy1hAAz
nilcoalescing.com
0
4
18
I've been exploring SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and wrote a post sharing what I learned and what to watch out for to avoid unexpected results: https://t.co/wgOB7A1Kne
nilcoalescing.com
Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results.
0
9
108
Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier:
nilcoalescing.com
Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier.
0
7
47
"SwiftUI Fundamentals" by @natpanferova has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design:
nilcoalescing.com
'SwiftUI Fundamentals' by Natalia Panferova has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design.
1
4
29
SwiftUI makes it easy to show a “no results” state for search with https://t.co/Hxp8zhMdxK. And it even automatically includes the search text in the message, as long as it’s used within the scope of the searchable() modifier.
7
11
192
In iOS 26, SwiftUI introduces a new close button role for dismissing informational views, automatically showing a standard close icon without needing a custom label: https://t.co/BlD16zw4Wr
nilcoalescing.com
In iOS 26, SwiftUI introduces a new close button role for dismissing informational views, automatically showing a standard close icon without needing a custom label.
2
5
55
I’ve just published an update for my SwiftUI Fundamentals book! It’s now refreshed for iOS 26 and the new Liquid Glass design, with updated examples and screenshots throughout. You can check it out and get the new version here: https://t.co/079BDXNAnd
books.nilcoalescing.com
The essential guide to SwiftUI core concepts and APIs
2
12
92
Buttons inside a SwiftUI List row can cause the entire row to become tappable and trigger multiple buttons at once, but applying a specific button style ensures each button works independently:
nilcoalescing.com
Buttons inside a List row can cause the entire row to become tappable and trigger multiple buttons at once, but applying a specific button style ensures each button works independently.
3
4
61
On iOS 26 we have a new `close` button role in SwiftUI to dismiss a view without losing the user’s progress, unlike a cancel action. A convenient way to add a dismiss button for modals without the need to define a custom button label!
5
30
447
Discover how to use the Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management:
nilcoalescing.com
Discover how to use the @Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management.
0
5
36
In the first version of @BreveCoffeeApp I placed timers in the tab view’s bottom accessory, but it broke in iOS 26.1 beta. In the latest release, I switched to a custom view with an interactive glass effect. To keep it always visible above the tabs, I used safeAreaBar().
5
7
143
I noticed that on iOS 26, the default swipe action appearance changed to show both an icon and a title instead of just the icon. If we want to restore the previous icon-only look, we can use the labelStyle() modifier in SwiftUI: https://t.co/pV88tWqukH
nilcoalescing.com
Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier.
0
5
59
In SwiftUI, the popover() modifier shows a popover on iPad but turns into a sheet on iPhone by default. To prefer popover presentation even in compact size classes, we can apply presentationCompactAdaptation(_:) inside the popover's content:
nilcoalescing.com
Starting with iOS 16.4, we can use the presentationCompactAdaptation(_:) modifier to tell SwiftUI that we prefer popover presentation even in compact size classes.
1
5
35
Learn how to define custom environment values in SwiftUI, eliminate boilerplate with the Entry macro, and pass data through the view hierarchy effectively:
nilcoalescing.com
Learn how to define custom environment values in SwiftUI, eliminate boilerplate with the @Entry macro in Xcode 16, and pass data through the view hierarchy efficiently.
1
6
51
Breve version 1.1 is here! Enjoy improved brewing timers, a new precise mode for ingredient measurements, and other improvements to make your coffee experiments at home even more delightful! Download on the App Store: https://t.co/TgrrIIj12m
0
3
6
Text truncation can be annoying when developing apps in SwiftUI. Luckily, @nilcoalescing’s fix is simple! Curated in this week's #swiftleeweekly
nilcoalescing.com
Prevent unnecessary text truncation at larger text sizes with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed.
4
7
115
Those Who Swift — Issue 235 is out☕️! This week, we’ve partnered with @natpanferova — not just a former Apple Engineer, but also the creator of Breve, an iOS app with recipes for your favorite drinks, tailored to any taste.
1
3
7
Explore different ways to work with the SwiftUI environment, including reading and setting values, creating custom environment keys, and using it to pass down actions and observable classes: https://t.co/K1h96sMSEf
nilcoalescing.com
Explore different ways to work with the SwiftUI environment, including reading and setting values, creating custom environment keys, and using it to pass down actions and observable classes.
0
5
25
When testing Dynamic Type support in @BreveCoffeeApp I noticed that text would get truncated sometimes at larger text sizes for no real reason. I had to apply the fixedSize(horizontal:vertical:) modifier as a workaround. I wrote a short post about it: https://t.co/FqDalaZ0F3
nilcoalescing.com
Prevent unnecessary text truncation at larger text sizes with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed.
2
8
101
Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle:
nilcoalescing.com
Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle.
0
6
28
Much needed article for things Apple should be documenting better to help developers integrate with the system in the way that they keep preaching about. Thanks again to @NilCoalescing for consistently publishing quality guides!
Discover how to use a shared Core Spotlight search index to make content discoverable in system Spotlight and support internal search within your iOS app:
2
2
9