Natalia Panferova
banner
natpanferova.bsky.social
Natalia Panferova
@natpanferova.bsky.social
Software Engineer | iOS | macOS | Swift | SwiftUI | Previously SwiftUI at Apple | Author of books for Swift developers: https://books.nilcoalescing.com
Pinned
I released a new book 🎉

SwiftUI Fundamentals combines my knowledge and experience from using SwiftUI since its release and working on its source code at Apple to give you a solid understanding of the most important aspects of the framework: books.nilcoalescing.com/swiftui-fund...

#SwiftUI #iOSDev
SwiftUI Fundamentals
The essential guide to SwiftUI core concepts and APIs
books.nilcoalescing.com
Reposted by Natalia Panferova
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
Corner concentricity in SwiftUI on iOS 26
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
November 11, 2025 at 8:50 PM
Reposted by Natalia Panferova
A new recipe has just arrived!

Elevate your coffee moments with the Rose and Pistachio Latte, a fragrant blend of espresso, pistachios, and rose water topped with creamy milk.

Learn how to make it in Breve: apps.apple.com/app/apple-st...

#Coffee #CoffeeLovers #iOSApp
November 10, 2025 at 7:32 AM
Reposted by Natalia Panferova
Discover easy-to-implement techniques for supporting Dynamic Type with larger text in SwiftUI apps using system and custom fonts, the ScaledMetric property wrapper, dynamic type size environment value, and more: youtu.be/wflWj5l7wlk

#SwiftUI #iOSDev #Accessibility
Tips for Supporting Dynamic Type in SwiftUI Apps
YouTube video by Nil Coalescing
youtu.be
November 9, 2025 at 10:10 PM
Reposted by Natalia Panferova
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases: nilcoalescing.com/blog/Codable...
#SwiftLang #iOSDev
Codable conformance for Swift enums
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases.
nilcoalescing.com
November 9, 2025 at 5:30 AM
Reposted by Natalia Panferova
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...
#SwiftUI #iOSDev
ScrollView snapping in SwiftUI
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
November 5, 2025 at 8:50 PM
I've published a new video! I shared some tips for implementing Dynamic Type support in SwiftUI apps, covering system and custom fonts, ScaledMetric API, and dynamicTypeSize environment value: youtu.be/wflWj5l7wlk
#SwiftUI #iOSDev #Accessibility
Tips for Supporting Dynamic Type in SwiftUI Apps
YouTube video by Nil Coalescing
youtu.be
November 5, 2025 at 7:42 AM
Reposted by Natalia Panferova
Fatbobman’s Swift Weekly #0109 is out!
Dangerous but Fortunate — Twice!

🔄 onChange in same Time
📱 ScrollView snapping
🗺️ Roadmap for improving the type checker
🧩 AnyLanguageModel

and more...
weekly.fatbobman.com/p/fatbobman...

#swift #swiftUI #iOS
Fatbobman's Swift Weekly #0109
Dangerous but Fortunate — Twice!
weekly.fatbobman.com
November 3, 2025 at 12:21 PM
Reposted by Natalia Panferova
📜 𝑆𝑐𝑟𝑜𝑙𝑙𝑉𝑖𝑒𝑤 𝑠𝑛𝑎𝑝𝑝𝑖𝑛𝑔 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 by Natalia Panferova (@natpanferova.bsky.social)

Want your scrolling to snap perfectly to pages or specific views? This guide explores SwiftUI's 𝑠𝑐𝑟𝑜𝑙𝑙𝑇𝑎𝑟𝑔𝑒𝑡𝐵𝑒ℎ𝑎𝑣𝑖𝑜𝑟 and 𝑠𝑐𝑟𝑜𝑙𝑙𝑇𝑎𝑟𝑔𝑒𝑡𝐿𝑎𝑦𝑜𝑢𝑡 APIs for precise control.

#SwiftUI

nilcoalescing.com/blog/ScrollV...
ScrollView snapping in SwiftUI
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
November 3, 2025 at 9:01 AM
I noticed that on iOS 26.1 there are some small improvements to the Liquid Glass tab bar: the selected tab color looks less saturated, making it more readable on top of colorful backgrounds, and the edge effect is stronger.

Here is @brevecoffeeapp.bsky.social on iOS 26 and 26.1:
November 3, 2025 at 8:39 AM
Excited to share my recent appearance on the Swift Academy podcast! In this episode, Walid Sassi and I talk about iOS 26, Liquid Glass, SwiftUI, and Accessibility, and explore some of the new APIs along with ways to make apps more inclusive: youtu.be/CEZbwcv60MA
#iOSDev #SwiftUI
iOS26, SwiftUI and Accessibility with Natalia Panferova
YouTube video by Walid SASSI
youtu.be
November 2, 2025 at 9:57 PM
Reposted by Natalia Panferova
The Swift project is starting up digest posts on their blog, and I had the good fortune to be the guest voice, sharing some of the cool things from October. www.swift.org/blog/whats-n...

I kind of expect the format to morph as we try this out, but i’m really happy to see this happenin’ #swiftlang
What's new in Swift: October 2025 Edition
Editor Note: This is the first of a new series, What’s new in Swift, a monthly digest featuring what’s new in the Swift project and ecosystem, with insights and perspectives from across the Swift worl...
www.swift.org
November 1, 2025 at 6:04 PM
Reposted by Natalia Panferova
Prevent unnecessary text truncation at larger text sizes in SwiftUI apps with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed: nilcoalescing.com/blog/Avoidin...
#SwiftUI #iOSDev
Avoiding text truncation in SwiftUI with Dynamic Type
Prevent unnecessary text truncation at larger text sizes with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed.
nilcoalescing.com
November 1, 2025 at 11:44 PM
The October issue of the Nil Coalescing newsletter has gone out to all subscribers 📬

I've shared news on my SwiftUI Fundamentals book update, and my recent technical learnings on supporting iOS 26 and 26.1.

You can also read the issue online: nilcoalescing.com/newsletter/2...
Nil Coalescing - Nil Coalescing Newsletter - October 2025
I hope you've had a productive October! This month I've started updating my books for iOS 26, released an update for my app Breve with a special Halloween event, and recorded a Swift Academy podcast e...
nilcoalescing.com
October 31, 2025 at 9:08 PM
Reposted by Natalia Panferova
It's almost Halloween 👻 👻👻 Time to brew something spooky!

Find your perfect coffee recipe in Breve and get into the Halloween spirit: apps.apple.com/us/app/breve...

#Coffee #Halloween #iOSApp
October 31, 2025 at 7:19 AM
Reposted by Natalia Panferova
Learn how to use NWPathMonitor as an async sequence for real-time network status updates in your SwiftUI views: nilcoalescing.com/blog/ReactTo...
#iOSDev #SwiftUI
React to network status updates in SwiftUI
Learn how to use NWPathMonitor as an async sequence for real-time network status updates in your SwiftUI views.
nilcoalescing.com
October 30, 2025 at 11:23 PM
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: nilcoalescing.com/blog/ScrollV...
#SwiftUI #iOSDev
ScrollView snapping in SwiftUI
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
October 29, 2025 at 7:05 AM
Reposted by Natalia Panferova
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/blog/ShowIco...
#iOSDev #SwiftUI
Show icons only in SwiftUI swipe actions on iOS 26
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
October 23, 2025 at 10:15 PM
Reposted by Natalia Panferova
Halloween has arrived in Breve!

Discover limited-time coffee recipes brewed with a little magic and a lot of flavor 🎃✨

Breve on the App Store: apps.apple.com/app/apple-st...

#CoffeeLovers #Halloween #iOSApp
October 23, 2025 at 5:50 AM
Reposted by Natalia Panferova
"SwiftUI Fundamentals" by @natpanferova.bsky.social has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design: nilcoalescing.com/blog/SwiftUI...
#SwiftUI #iOSDev
"SwiftUI Fundamentals" book update: refreshed for iOS 26 and the Liquid Glass design
'SwiftUI Fundamentals' by Natalia Panferova has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design.
nilcoalescing.com
October 22, 2025 at 8:57 PM
SwiftUI makes it easy to show a “no results” state for search with ContentUnavailableView.search. And it even automatically includes the search text in the message, as long as it’s used within the scope of the searchable() modifier.
#iOSDev #SwiftUI
October 22, 2025 at 5:37 AM
Reposted by Natalia Panferova
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: nilcoalescing.com/blog/AddAClo...
#SwiftUI #iOSDev
Add a Close button to SwiftUI modals on iOS 26
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.
nilcoalescing.com
October 21, 2025 at 8:38 PM
Reposted by Natalia Panferova
🎯 𝑆ℎ𝑜𝑤 𝑖𝑐𝑜𝑛𝑠 𝑜𝑛𝑙𝑦 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝑠𝑤𝑖𝑝𝑒 𝑎𝑐𝑡𝑖𝑜𝑛𝑠 𝑜𝑛 𝑖𝑂𝑆 26 by Natalia Panferova (@natpanferova.bsky.social)

iOS 26 now displays both icons and titles in swipe actions - but what if you prefer the cleaner icon-only look? Here's how to customize the new behavior.

#SwiftUI #iOS26 #iOSDev
Show icons only in SwiftUI swipe actions on iOS 26
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
October 21, 2025 at 7:01 AM
Reposted by Natalia Panferova
Here is the solution. Thanks to @natpanferova.bsky.social
October 20, 2025 at 8:33 PM
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: books.nilcoalescing.com/swiftui-fund...

#iOSDev #SwiftUI
SwiftUI Fundamentals
The essential guide to SwiftUI core concepts and APIs
books.nilcoalescing.com
October 20, 2025 at 5:53 AM
Reposted by Natalia Panferova
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/blog/Multipl...
#SwiftUI #iOSDev
Multiple buttons in SwiftUI List rows
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.
nilcoalescing.com
October 18, 2025 at 11:13 PM