Precisely scope animations to specific animatable attributes in SwiftUI by using the animation(_:body:) API introduced in iOS 17: nilcoalescing.com/blog/Isolate...
#iOSDev #SwiftUI
Posts by Nil Coalescing
Heading to Japan tomorrow for @tryswift.jp ✈️ I've never been to Tokyo or the try! Swift conference before, so getting to attend and speak is a dream! Can't wait to meet everyone!
tryswift.jp/en/
Learn how to adjust size, color, rendering modes, variable values, and design variants of SF Symbols in SwiftUI apps: nilcoalescing.com/blog/Customi...
#iOSDev #SwiftUI
“The SwiftUI Way” is a new book by @natpanferova.bsky.social written for SwiftUI developers who want to develop a deeper intuition for working with the framework, recognize potentially harmful anti-patterns, and build more maintainable and performant SwiftUI apps: nilcoalescing.com/blog/TheSwif...
SwiftUI offers several methods to change the color of text, including foregroundStyle() and tint() modifiers, AttributedString attributes, and the textRenderer() API for advanced styling: nilcoalescing.com/blog/Foregro...
#SwiftUI #iOSDev
Published a new YouTube video covering some advanced techniques for working with Optionals in Swift. I shared these as part of my presentation "Swift's Hidden Gems" at the
ARCtic Conference and many developers were surprised youtu.be/qgDIOrKnmuw
#SwiftLang
In iOS 26, SwiftUI introduced a new close button role for dismissing informational views, automatically showing a standard close icon without needing a custom label: nilcoalescing.com/blog/AddAClo...
#iOSDev #SwiftUI
I wrote a post on how we can embed SF Symbols in Text and style them with modifiers in SwiftUI by leveraging LocalizedStringKey interpolation: nilcoalescing.com/blog/Embeddi...
#iOSDev #SwiftUI
Configure the NavigationStack and Form background in SwiftUI so partial height sheets keep the translucent Liquid Glass appearance on iOS 26: nilcoalescing.com/blog/LiquidG...
#iOSDev #SwiftUI
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: nilcoalescing.com/blog/Countdo...
#iOSDev #SwiftLang
Make your views and controls fit perfectly within their containers using new SwiftUI APIs in iOS 26 such as the ConcentricRectangle shape and the containerShape() view modifier: nilcoalescing.com/blog/Concent...
#iOSDev #SwiftUI
SwiftUI is approachable at first, but in real-life projects it's easy to make mistakes that can compromise app stability and performance.
My new book "The SwiftUI Way" will help you recognize the most common anti-patterns and choose better alternatives: books.nilcoalescing.com/the-swiftui-...
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: nilcoalescing.com/blog/Present...
#iOSDev #SwiftUI
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: nilcoalescing.com/blog/SwiftUI...
#iOSDev #SwiftUI
iOS 26 introduced the lineHeight(_:) modifier and AttributedString.LineHeight attribute for adjusting vertical spacing between lines of text in SwiftUI: nilcoalescing.com/blog/Adjusti...
#iOSDev #SwiftUI
The March issue of the Nil Coalescing newsletter has been sent out and is now available online. I shared details on my new book "The SwiftUI Way", talk recordings from the iOS conference in Singapore and plans for April: nilcoalescing.com/newsletter/2...
#iOSDev #SwiftUI
“The SwiftUI Way” is a new book by @natpanferova.bsky.social written for SwiftUI developers who want to develop a deeper intuition for working with the framework, recognize potentially harmful anti-patterns, and build more maintainable and performant SwiftUI apps: nilcoalescing.com/blog/TheSwif...
My new #SwiftUI book is finally out 🎉
I wrote "The SwiftUI Way" for developers who feel like they are fighting the framework as projects grow in complexity. The book will help you align your code with SwiftUI's internal expectations to avoid common pitfalls: books.nilcoalescing.com/the-swiftui-...
Natalia writes a wonderful book and is an extremely helpful person to follow on social media @nilcoalescing.com She’s a fountain of brilliant tips. Here is a talk with lots of useful advice for SwiftUI developers. Especially recommended to all my students. youtu.be/Y_Ov-ddMb24?...
Precisely scope animations to specific animatable attributes in SwiftUI by using the animation(_:body:) API introduced in iOS 17: nilcoalescing.com/blog/Isolate...
#iOSDev #SwiftUI
The recording of my talk from iOS Conf SG is now available on YouTube! In this talk I share 5 key ideas for building a SwiftUI mindset and show a few examples of what can go wrong in practice when SwiftUI principles are misunderstood: www.youtube.com/watch?v=Y_Ov...
#SwiftUI #iOSDev
Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results: nilcoalescing.com/blog/ScrollV...
#iOSDev #SwiftUI
Explore ways to create and customize mesh gradients in SwiftUI, including color adjustments, finer control with Bezier points, and color position animations to add variety and emphasis to your design: nilcoalescing.com/blog/MeshGra...
#iOSDev #macOSDev #SwiftUI
On iOS 26, we have a new #SwiftUI modifier, lineHeight(_:), for adjusting the distance between the baselines of two subsequent lines of text. There are a few options available in this new API, so I thought I would look through how they behave in practice: nilcoalescing.com/blog/Adjusti...
Add symbol effect animations and transitions to symbol images in SwiftUI to handle icon state changes without custom drawing or animation logic: nilcoalescing.com/blog/Animati...
#iOSDev #SwiftUI
The February issue of the Nil Coalescing newsletter is out 📬
It’s been a busy month for our team with lots of travel! I've shared a glimpse into my "Swift's Hidden Gems" talk from the ARCtic Conference, a new SwiftUI post, and plans for the near future.
nilcoalescing.com/newsletter/2...
Extend Swift’s string interpolation to define custom behavior, such as value formatting, directly inside string literals: nilcoalescing.com/blog/Definin...
#SwiftLang
For precise control over which attributes should animate in #SwiftUI, especially in generic components that accept arbitrary content, we can use the animation(_:body:) API introduced in iOS 17 to avoid accidental animations.
I've written a post about it: nilcoalescing.com/blog/Isolate...
Sunset over Iso Syöte with snow covered trees in the foreground shaped by heavy frost, glowing orange light from the low winter sun on the horizon, and an expansive frozen forest stretching into the distance under a clear blue sky
Natalia Panferova standing in a snowy park in Oulu, wearing a dark winter coat, knit hat, scarf, and boots, smiling on a snow covered path with frost covered trees and a dark sculpture visible in the background
Reindeer standing in a snowy forest enclosure at a reindeer farm, partially framed by frost covered evergreen branches, with antlers visible and snow covering the ground and surrounding trees
Natalia Panferova speaking on stage at the ARCtic Conference, standing at a podium under blue stage lighting with a large screen behind her displaying a Swift logo with heart shaped balloons
Last week I had an amazing opportunity to be part of the ARCtic Conference and present a talk on lesser known Swift language features. I really enjoyed the conference and my stay in Lapland ❄️ ☃️ 🦌 Thank you to all the organizers, speakers and attendees!