The WWDC26 cycle removes long-standing container limitations: swipe actions and reordering
outside List, a prominent tab role, a cross-fade navigation transition, AsyncImage caching,
and finer toolbar visibility control.
Swipe actions anywhere
swipeActions now works in ScrollView, lazy stacks, and custom layouts. Mark the scrolling
container with the new swipeActionsContainer modifier; without it the row-level modifier does
nothing outside List.
ScrollView {
LazyVStack {
ForEach(items) { item in
ItemRow(item)
.swipeActions {
Button("Delete", role: .destructive) { delete(item) }
}
}
}
}
.swipeActionsContainer()
Reordering anywhere
The same pattern covers drag reordering: reorderable() on the ForEach, reorderContainer
on the container, which hands you a difference to apply to your array.
VStack {
ForEach(landmarks) { LandmarkView($0) }
.reorderable()
}
.reorderContainer(for: Landmark.self) { difference in
difference.apply(to: &landmarks)
}
Prominent tabs and cross-fade transitions
role: .prominent on a Tab separates it at the trailing edge, the way .search already did.
Navigation transitions stay preset-only, but the set grows to automatic, zoom, and cross-fade
via navigationTransition(.crossFade).
AsyncImage finally caches
AsyncImage gains caching, controllable through a custom URLSession.
let cache = URLCache(memoryCapacity: 20 * 1024 * 1024,
diskCapacity: 100 * 1024 * 1024,
directory: nil)
let configuration = URLSessionConfiguration.default
configuration.urlCache = cache
AsyncImage(request: URLRequest(url: imageURL))
.asyncImageURLSession(URLSession(configuration: configuration))
Toolbar visibility control
visibilityPriority says which items survive on small screens, ToolbarOverflowMenu collects
secondary actions, and the topBarPinnedTrailing placement pins an item to the trailing edge.
.toolbar {
ToolbarItem(placement: .topBarPinnedTrailing) { SecondaryControl() }
ToolbarItem { PrimaryControl() }
.visibilityPriority(.high)
ToolbarOverflowMenu {
Button("Action 1") { }
Button("Action 2") { }
}
}
Document-based apps also got a refresh and a performance boost, and Xcode ships SwiftUI Specialist skills for its agentic coding tools.