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

As iOS apps become fully resizable, our layouts have to handle many more combinations of width and height. My new post explores how we can use SwiftUI’s onGeometryChange() to apply custom layout rules without updating state for every measurement: nilcoalescing.com/blog/Respond... #iOSDev #SwiftUI

Responding to geometry changes in SwiftUI

Adapt a SwiftUI interface to its available space using the onGeometryChange() modifier, while limiting state updates to the geometry changes that matter.

nilcoalescing.com

📢 𝗜𝘀𝘀𝘂𝗲 𝟭𝟬𝟱 𝗶𝘀 𝗼𝘂𝘁! Featuring: ⚡ 𝑆𝑤𝑖𝑓𝑡 𝑁𝑒𝑤𝑠 🌐 𝑊ℎ𝑎𝑡 𝐻𝑎𝑝𝑝𝑒𝑛𝑠 🧩 𝐿𝑖𝑓𝑒𝑐𝑦𝑐𝑙𝑒 🎨 𝐴𝑑𝑎𝑝𝑡𝑖𝑣𝑒 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 📱 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛𝑠 🚀 𝐶𝑜𝑛𝑡𝑒𝑛𝑡𝐵𝑢𝑖𝑙𝑑𝑒𝑟 📊 𝐵𝑦𝑝𝑎𝑠𝑠 🛠️ 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑏𝑙𝑒𝑃𝑒𝑟𝑠𝑖𝑠𝑡𝑒𝑛𝑐𝑦 #Swift #iOSDev ios-newsletter.snappmobile.io/issues/2026-...

I’ve been exploring phaseAnimator() for multi-step animations in SwiftUI. It lets us define a sequence of view states and control the transition into each one. I wrote up how repeating and triggered variants work: nilcoalescing.com/blog/PhaseAn... #iOSDev #SwiftUI

Creating multi-step animations with PhaseAnimator in SwiftUI

Build repeating and event-driven animations in SwiftUI with PhaseAnimator, using phase values and per-phase transitions to control each sequence.

nilcoalescing.com

📢 𝗜𝘀𝘀𝘂𝗲 𝟭𝟬𝟰 𝗶𝘀 𝗼𝘂𝘁! Featuring: ⚡ 𝐸𝑣𝑒𝑛 𝐶𝑙𝑜𝑠𝑒𝑟 📊 𝑆𝑤𝑖𝑓𝑡 🎨 𝑀𝑎𝑘𝑖𝑛𝑔 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 📱 𝐴𝑙𝑖𝑔𝑛𝑚𝑒𝑛𝑡 𝑔𝑢𝑖𝑑𝑒𝑠 🛠️ 𝑇𝑟𝑎𝑐𝑘𝑖𝑛𝑔 𝑣𝑎𝑙𝑢𝑒 🧩 𝐿𝑖𝑞𝑢𝑖𝑑 𝐺𝑙𝑎𝑠𝑠 🚀 𝑀𝑎𝑠𝑡𝑒𝑟𝑖𝑛𝑔 𝑆𝑡𝑜𝑟𝑒𝐾𝑖𝑡 🔍 .𝑁𝐸𝑇, 𝑆𝑤𝑖𝑓𝑡, #Swift #iOSDev ios-newsletter.snappmobile.io/issues/2026-...

SwiftUI introduced a range of new toolbar customization APIs in iOS 27. They give us more control over how toolbars adapt as apps become resizable and appear in more contexts. I explored all the new additions, with examples showing how each one works: nilcoalescing.com/blog/Adaptiv... #iOSDev

Adaptive SwiftUI toolbars in iOS 27

Control which SwiftUI toolbar actions stay visible, move commands into overflow, pin an important item and configure navigation bar minimization with the new iOS 27 APIs.

nilcoalescing.com

Alignment guides are a powerful but often underused part of SwiftUI's layout system. They let us describe relationships between views using meaningful points in their content, without frame measurements or fixed offsets. I wrote a post explaining them in detail: nilcoalescing.com/blog/Alignme...

Alignment guides in SwiftUI

Learn how alignment guides position views in SwiftUI, how to override a built-in guide, and how to define a custom alignment for views in nested containers.

nilcoalescing.com

🎨 𝑇ℎ𝑒 ℎ𝑖𝑑𝑑𝑒𝑛 𝑐𝑜𝑠𝑡 𝑜𝑓 𝑢𝑛𝑠𝑡𝑎𝑏𝑙𝑒 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝑒𝑛𝑣𝑖𝑟𝑜𝑛𝑚𝑒𝑛𝑡 𝑑𝑒𝑓𝑎𝑢𝑙𝑡𝑠 by Natalia Panferova (@natpanferova.bsky.social) A tiny SwiftUI default value can accidentally become a little invalidation machine, quietly re-rendering more than it should. #iOSDev #SwiftUI #Performance nilcoalescing.com/blog/Unstabl...

The hidden cost of unstable SwiftUI environment defaults

Learn why Xcode 27 shows a warning when an @Entry declaration creates a new class instance for every fallback access, how unstable environment defaults can cause unnecessary SwiftUI view updates, and…

nilcoalescing.com

📢 𝗜𝘀𝘀𝘂𝗲 𝟭𝟬𝟯 𝗶𝘀 𝗼𝘂𝘁! Featuring: 🔶 𝐴𝑑𝑣𝑎𝑛𝑐𝑒𝑑 𝑆𝑤𝑖𝑓𝑡 📊 𝐵𝑢𝑖𝑙𝑑 𝐴𝑔𝑒𝑛𝑡𝑖𝑐 𝑆𝑤𝑖𝑓𝑡 𝐴𝑝𝑝𝑠 𝐷𝑦𝑛𝑎𝑚𝑖𝑐 𝑃𝑟𝑜𝑓𝑖𝑙𝑒𝑠 📱 𝐹𝑟𝑒𝑒 𝑢𝑝 𝑋𝑐𝑜𝑑𝑒 𝑑𝑖𝑠𝑘 𝑠𝑝𝑎𝑐𝑒 𝑠𝑎𝑓𝑒𝑙𝑦 𝐴𝐼 𝐴𝑔𝑒𝑛𝑡 🎨 𝐻𝑖𝑑𝑑𝑒𝑛 𝑐𝑜𝑠𝑡 𝑢𝑛𝑠𝑡𝑎𝑏𝑙𝑒 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝑒𝑛𝑣 𝑑𝑒𝑓𝑎𝑢𝑙𝑡𝑠 🚀 𝑆𝑒𝑚𝑎𝑛𝑡𝑖𝑐 𝐴𝑐𝑐𝑒𝑠𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 💡 𝐴𝑛𝑎𝑡𝑜𝑚𝑦 𝑅𝑒𝑢𝑠𝑎𝑏𝑙𝑒 𝑉𝑖𝑒𝑤 🛠️ 𝑆𝑤𝑖𝑓𝑡𝑆𝑡𝑎𝑠ℎ 🧠 𝑆𝑡𝑎𝑟𝑙𝑖𝑛𝑔 #Swift #iOSDev

iOS Newsletter Issue 103

Hi folks!

ios-newsletter.snappmobile.io