What's new SwiftUI?
πΊπΈ β Monday, May 12th 2025
Keywords: #Swift, #SwiftUI, #iOS, #iOSDev, #Apple
Here are some summaries of main news about SwiftUI, just to keep them in mind and list (more detailed) sources. A lof of this content is written thanks to the awesome work of Hacking with Swift. If you consider supporting this publication, prefer supporting them instead.
iOS 18 / Xcode 16.0 (2025)
View on main actor, thus not needed anymore to add @MainActor on views protocols properties.
PresentationSizing protocol helps to create our own sizes for views.
onGeometryChange() modifier lets us track when a view's frame, size or safe area insets change, and also onScrollGeometryChange() for ScrollView.
TabView has now dedicated Tab children, but it could bring failures for old code on iPadOS.
Accessiblity label and hint have modifiers to define them as views.
Tab bar can be floating
Sources
- hackingwithswift.com (PresentationSizing)
- hackingwithswift.com (onGeometryChange)
- hackingwithswift.com
iOS 17 (2023) / Xcode 15.0
Scroll view has been improved.
Drawing and animations have been improved, and SF Symbols can be animated easily.
In-app purchases can be displayed easily and in simple fashion with SwiftUI thanks to dedicated views ready to be used.
sensoryFeedback() is available for haptics.
ContentUnavailableView is here to tell the user that no content is available.
Sources
- hackingwithswift.com (in-app purchases)
- hackingwithswift.com (sensoryFeedback)
- hackingwithswift.com (ContentUnavailableView)
- hackingwithswift.com
iOS 16 / Xcode 14.0 (2022)
Bottom sheet presentation has been improved with presentationDetents() view modifier.
Tap location on view is easier to get.
ShareLink view makes it easy to share any kind of data from the app as long as it conforms to the Transferable protocol.
requestReview (StoreKit) allows users to rate the app.
PasteButton can be used to let the user paste data into the app if Transferable.
Sources
- hackingwithswift.com (ShareLink)
- hackingwithswift.com (requestReview)
- hackingwithswift.com (PasteButton)
- hackingwithswift.com
iOS 15 / Xcode 13.0 (2021)
refreshable() brings pull-to-refresh behaviour for lists!
searchable() brings search bar to filter data!
swipeActions() for list row are a reality!
AsyncImage view can load remote image from a URL!
Toolbar can be added to the keyboard.
task() let run asynchronous task when a view is shown.
Sources
- hackingwithswift.com (pull to refresh)
- hackingwithswift.com (search filter)
- hackingwithswift.com (swipe actions)
- hackingwithswift.com (AsyncImage)
- hackingwithswift.com (task)
- hackingwithswift.com
And about iOS 14 and iOS 13
Don't.
β Last update: Monday, May, 12th 2025 β
Did you enjoy reading this blog? Give me a beer πΊ or use something else β€οΈβπ₯ Licensed under CC-BY-SA 4.0. Opinions are my own. To contact me, feel free to choose the most suitable medium for you, or for example Mastodon.