SerialCoder.dev https://serialcoder.dev iOS & macOS app development tutorials and content Tue, 02 Jun 2026 17:15:32 +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 Enabling Haptic Feedback with sensoryFeedback in SwiftUI https://serialcoder.dev/text-tutorials/swiftui/enabling-haptic-feedback-with-sensoryfeedback-in-swiftui/ https://serialcoder.dev/text-tutorials/swiftui/enabling-haptic-feedback-with-sensoryfeedback-in-swiftui/#respond <![CDATA[Gabriel Theodoropoulos]]> Tue, 02 Jun 2026 17:15:30 +0000 <![CDATA[SwiftUI]]> <![CDATA[feedback]]> <![CDATA[haptic]]> <![CDATA[sensoryFeedback]]> <![CDATA[vibration]]> https://serialcoder.dev/?p=18571 <![CDATA[Learn how to add haptic feedback to SwiftUI apps using the sensoryFeedback modifier and explore common and lesser-known feedback styles that make interactions more engaging.]]> https://serialcoder.dev/text-tutorials/swiftui/enabling-haptic-feedback-with-sensoryfeedback-in-swiftui/feed/ 0 Formatting Values in SwiftUI Text and TextField https://serialcoder.dev/text-tutorials/swiftui/formatting-values-in-swiftui-text-and-textfield/ <![CDATA[Gabriel Theodoropoulos]]> Fri, 08 May 2026 07:15:31 +0000 <![CDATA[SwiftUI]]> <![CDATA[Currency]]> <![CDATA[Data Formatting]]> <![CDATA[Date Formatting]]> <![CDATA[FormatStyle]]> <![CDATA[formatters]]> <![CDATA[localization]]> <![CDATA[Measurement]]> <![CDATA[Number Formatting]]> <![CDATA[text view]]> <![CDATA[textfield]]> <![CDATA[URL]]> https://serialcoder.dev/?p=18458 <![CDATA[Discover how SwiftUI provides built-in formatting support that makes it easy to display and edit numbers, currencies, dates, measurements, and more directly in Text and TextField views.]]> Indicating Selection in macOS Menus Using SwiftUI https://serialcoder.dev/text-tutorials/macos-tutorials/indicating-selection-in-macos-menus-using-swiftui/ <![CDATA[Gabriel Theodoropoulos]]> Mon, 06 Apr 2026 16:00:48 +0000 <![CDATA[macOS Programming]]> <![CDATA[SwiftUI]]> <![CDATA[checkmark]]> <![CDATA[menu]]> <![CDATA[Picker]]> <![CDATA[selection]]> <![CDATA[toggle]]> <![CDATA[toolbar]]> https://serialcoder.dev/?p=18307 <![CDATA[Explore practical ways to indicate selection in macOS menus using SwiftUI, including buttons, pickers, and toggles for both toolbar and main menu.]]> 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.]]>