SerialCoder.dev https://serialcoder.dev iOS & macOS app development tutorials and content Mon, 09 Mar 2026 17:20:17 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.5 https://serialcoder.dev/wp-content/uploads/2020/10/cropped-serialcoder_icon-1-32x32.png SerialCoder.dev https://serialcoder.dev 32 32 Exploring Draw Effects and Gradient Rendering in SF Symbols https://serialcoder.dev/text-tutorials/swiftui/exploring-draw-effects-and-gradient-rendering-in-sf-symbols/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 09 Mar 2026 17:20:13 +0000 <![CDATA[SwiftUI]]> <![CDATA[Animate]]> <![CDATA[draw]]> <![CDATA[drawOff]]> <![CDATA[drawOn]]> <![CDATA[gradient]]> <![CDATA[rendering]]> <![CDATA[SF Symbols]]> https://serialcoder.dev/?p=18259 <![CDATA[Discover how to animate SF Symbols using the new draw effects and apply gradient rendering to system icons in SwiftUI.]]> Morphing Sheets Out of Buttons in SwiftUI https://serialcoder.dev/text-tutorials/swiftui/morphing-sheets-out-of-buttons-in-swiftui/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 09 Feb 2026 17:40:00 +0000 <![CDATA[SwiftUI]]> <![CDATA[matchedTransitionSource]]> <![CDATA[morph]]> <![CDATA[namespace]]> <![CDATA[navigationTransition]]> <![CDATA[sheet]]> <![CDATA[transition]]> https://serialcoder.dev/?p=18226 <![CDATA[Learn how to morph a sheet directly out of the button that presents it using a new SwiftUI transition introduced in iOS 26.]]> Video – Using ShareLink in SwiftUI https://serialcoder.dev/video-tutorials/video-using-sharelink-in-swiftui/ https://serialcoder.dev/video-tutorials/video-using-sharelink-in-swiftui/#respond <![CDATA[Gabriel Theodoropoulos]]> Mon, 19 Jan 2026 18:00:00 +0000 <![CDATA[Video Tutorials]]> <![CDATA[ShareLink]]> https://serialcoder.dev/?p=18221 <![CDATA[See how to present the system share sheet in a native way using ShareLink in SwiftUI and go through a series of examples step by step.]]> https://serialcoder.dev/video-tutorials/video-using-sharelink-in-swiftui/feed/ 0 Video – Meet the Inspector View in SwiftUI https://serialcoder.dev/video-tutorials/video-meet-the-inspector-view-in-swiftui/ https://serialcoder.dev/video-tutorials/video-meet-the-inspector-view-in-swiftui/#respond <![CDATA[Gabriel Theodoropoulos]]> Mon, 12 Jan 2026 19:10:22 +0000 <![CDATA[Video Tutorials]]> <![CDATA[inspector]]> <![CDATA[inspectorColumnWidth]]> https://serialcoder.dev/?p=18208 <![CDATA[Watch how to present the Inspector view in SwiftUI through a simple macOS app, along with the bits of configuration it gets for the best possible user experience.]]> https://serialcoder.dev/video-tutorials/video-meet-the-inspector-view-in-swiftui/feed/ 0 Creating and Opening Custom Document Types in SwiftUI https://serialcoder.dev/text-tutorials/swiftui/creating-and-opening-custom-document-types-in-swiftui/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 22 Dec 2025 17:41:01 +0000 <![CDATA[SwiftUI]]> <![CDATA[custom file type]]> <![CDATA[document types]]> <![CDATA[exported type identifiers]]> <![CDATA[onOpenURL]]> https://serialcoder.dev/?p=18096 <![CDATA[Explore how to create custom file types recognizable by the system and enable automatic opening in SwiftUI.]]> Enabling Selection, Double-Click and Context Menus in SwiftUI List Rows on macOS https://serialcoder.dev/text-tutorials/swiftui/enabling-selection-double-click-and-context-menus-in-swiftui-list-on-macos/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 24 Nov 2025 17:00:18 +0000 <![CDATA[SwiftUI]]> <![CDATA[context menu]]> <![CDATA[double click]]> <![CDATA[list]]> <![CDATA[row]]> <![CDATA[selection]]> https://serialcoder.dev/?p=18007 <![CDATA[Learn how to allow single row selection in SwiftUI lists on macOS, enable actions on double-click, and present a context-menu on right-click at the same time.]]> Zooming With The Magnify Gesture in SwiftUI https://serialcoder.dev/text-tutorials/swiftui/zooming-with-the-magnify-gesture-in-swiftui/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 03 Nov 2025 17:30:00 +0000 <![CDATA[SwiftUI]]> <![CDATA[gesture]]> <![CDATA[magnification]]> <![CDATA[MagnifyGesture]]> <![CDATA[scale]]> <![CDATA[zoom]]> https://serialcoder.dev/?p=17924 <![CDATA[Find out how to enable pinch-to-zoom interaction in your SwiftUI views with the magnify gesture and explore all the essential details you need to know about it.]]> Transforming Glass Views with the glassEffectID in SwiftUI https://serialcoder.dev/text-tutorials/swiftui/transforming-glass-views-with-the-glasseffectid-modifier-in-swiftui/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 20 Oct 2025 15:45:18 +0000 <![CDATA[SwiftUI]]> <![CDATA[glass]]> <![CDATA[GlassEffectContainer]]> <![CDATA[glassEffectID]]> <![CDATA[Liquid Glass]]> <![CDATA[namespace]]> https://serialcoder.dev/?p=17869 <![CDATA[Read how to manage the new Liquid Glass morph effect and transform glass views using the glassEffectID modifier in SwiftUI.]]> The File Importer in SwiftUI https://serialcoder.dev/text-tutorials/swiftui/the-file-importer-in-swiftui/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 29 Sep 2025 15:45:25 +0000 <![CDATA[SwiftUI]]> <![CDATA[app sandbox]]> <![CDATA[file]]> <![CDATA[importer]]> <![CDATA[Picker]]> <![CDATA[security scope]]> https://serialcoder.dev/?p=17773 <![CDATA[Learn how to use SwiftUI’s fileImporter modifier to let users pick files from outside your app’s sandbox and safely access their contents.]]> Scrolling Programmatically with scrollPosition in SwiftUI https://serialcoder.dev/text-tutorials/swiftui/scrolling-programmatically-with-scrollposition-in-swiftui/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 08 Sep 2025 15:05:50 +0000 <![CDATA[SwiftUI]]> <![CDATA[scroll]]> <![CDATA[scrollPosition]]> <![CDATA[scrollTo]]> https://serialcoder.dev/?p=17723 <![CDATA[Find out how to perform programmatic scrolling on scroll views and lists in SwiftUI using a specific view modifier.]]>