Have you experimented with haptic feedback in your custom controls?
This beautiful tutorial demonstrates building a horizontal dial picker from basic 𝑆𝑐𝑟𝑜𝑙𝑙𝑉𝑖𝑒𝑤 concepts to sophisticated haptic feedback integration. Great exploration of creating engaging, tactile user interfaces that feel natural and responsive.
🔗: https://levelup.gitconnected.com/swiftui-horizontal-dial-picker-slider-ruler-8b3681fc9a00 by Itsuki
#SwiftUI #HapticFeedback #CustomControls
Looks like people hate the Windows app even more 😅
#applemusic #swift #indiedev #macos26 #liquidglass #BuildInPublic #tahoe #testflight #swiftui #appkit

Also posted it on Reddit. People are ruthless. 😳
#applemusic #swift #indiedev #macos26 #liquidglass #BuildInPublic #tahoe #testflight #swiftui #appkit
https://www.reddit.com/r/AppleMusic/s/qnSuh64KN6
Daft Music is now in a open beta. Give it a try and let me know what you think of it.
#applemusic #swift #indiedev #macos26 #liquidglass #BuildInPublic #tahoe #testflight #swiftui #appkit
https://testflight.apple.com/join/dHmgwtzX
Managed to fix the issue with managing credentials on tvOS (Thanks @millenomi!), or at least I hope I did — need to test on device haha. Tomorrow let's tweak the icon slightly and prep the site for the fall season. See you then!
🔜 Tomorrow’s stream: https://youtube.com/live/_hF8R0UqEbQ
⏮️ Playlist so far: https://www.youtube.com/playlist?list=PLRxjf93xotuofCtaxtGOcWeuxVZYJyY-m
📲 Download Jiiiii: https://apps.apple.com/app/apple-store/id6472801548?pt=14724&ct=MastodonCCStreams&mt=8
#Jiiiii #DevStream #tvOS #visionOS #macOS #iOS #iPadOS #Anime #Swift #SwiftUI #Vapor #WebAuthn #BuildInPublic #TestFlight #PWA #WebPush
I'm making a seasonal anime guide app, in the open for all to experience and learn from.
Very short stream since I’m recovering from COVID + Flu vaccines, but let's try fixing an issue managing credentials on tvOS!
#Jiiiii #DevStream #tvOS #visionOS #macOS #iOS #iPadOS #Anime #SwiftLang #SwiftUI #Vapor #WebAuthn #BuildInPublic #TestFlight #PWA #WebPush
Come chill with me: https://youtube.com/live/sDrhYAmVAks
Working on a new liquid glass achievement notification in my new app Reflectured? 🎉
What do you think?
#reflectured #Shipaton #iOS #iosdev #Xcode #swiftlang #appledev #swiftui #liquidglass #ios26
https://apps.apple.com/app/apple-store/id6747586989?pt=123621424&ct=Mastodon&mt=8
What's the most complex UI component you've built in SwiftUI?
This detailed tutorial walks through creating a custom date range picker component from scratch. Perfect for developers looking to build sophisticated, reusable UI elements that enhance user experience while maintaining clean, testable code architecture.
🔗: https://khorbushko.github.io/article/2025/09/12/date-range-picker.html by Kyryl Horbushko
#SwiftUI #UIComponents #Tutorial
For anyone following along: I've found the issue. In iOS 18, it was OK to put a sheet modifier somewhere inside a view that's inside a list cell. On iOS 26, that no longer works. Presenting a popup menu from inside the sheet does something iffy to the list cell above, causing the sheet to be regenerated.
I don't know whether I was doing something that was never supported, or whether it's a bug in iOS 26. It doesn't seem to be a change that was communicated. Yey #swiftui fun I guess.
iOS 26.1 has a new title style for inline large with subtitle. Previously the subtitle would just be omited.
The transition could be better though. And yes, one of the subtitles is still set in Helvetica.
Worth pointing out that Apple provides a LocalSearchCompleter for searching for map points of interest and it handles things like debouncing input but it is not updated with any of the new OS26 MapItem info so you only get a Title and Subtitle.
Of course that would be perfect for my situation, searching for map locations, but Apple is gonna Apple.
So I rolled my own.
https://developer.apple.com/documentation/mapkit/mklocalsearchcompleter
Not a fan of Medium content but I found this post very helpful for debouncing a TextField in #SwiftUI
No Combine required and it works well with strict concurrency.
For the record, I'm doing this all in my View so I can't say if it translates easily to an Observable.
My use case is dynamic search on TextField changes. It's working very well for me.