Repository navigation
Breaking Changes
- Minimum deployment target raised to iOS 18. iOS 17 is no longer supported.
HeaderContextconverted from a struct to an@Observableclass to address performance issues related to SwiftData queries. The observable class shields content views from re-performing queries and re-evaluatingbodyon every frame while scrolling. If you storedHeaderContext(or its typealiasesMaterialTabsHeaderContext/StickyHeaderContext) by value, you will need to update to reference semantics.- #19
MaterialTabsScrolljoint scroll position API replaced with iOS 18ScrollPosition. The oldscrollAnchorparameter is replaced by optionalscrollPositionandanchorbindings for joint scroll position manipulation between the library and client code.
Improvements
-
Add
.materialTabsScrollEdgeEffect()on iOS 26 and later. Transparent headers and tab bars can extend the navigation bar's native scroll-edge blur, including collapsible headers, without implementing custom blur values or transitions. -
Document Liquid Glass setup and why opaque header backgrounds cover the scrolling content instead of being blurred by the modifier.
-
Add shared Core and Extended Xcode test plans with scroll-position, header-continuity, and tab-state regression checks. Validation runs inside XCTest; no command-line post-processing is required.
-
#25
MaterialTabBarnow supports analignmentparameter (.leading,.center,.trailing) for controlling horizontal positioning of self-sized tabs whenfillAvailableSpaceisfalse. -
#25 New
MaterialAccessoryTabBarcomponent for adding optional leading and trailing accessory views alongside tab selectors. Accessories scroll horizontally with the tabs. -
#25
TabBarModelandHeaderModelare now public, enabling fully custom tab bar implementations via the environment.
Fixes
- Preserve tab content state and scroll position when returning to tabs on iOS 27.
- Correct incoming-tab scroll alignment with the shared header, including taps to previously unvisited tabs.
- Preserve header and scroll-position continuity when switching tabs during deceleration.