{"repo":"AdelaideSky/Afloat","free":true,"listed":false,"github":"https://github.com/AdelaideSky/Afloat","clone":"git clone https://github.com/AdelaideSky/Afloat.git","description":"Contextual navigation titles for SwiftUI","language":"Swift","stars":109,"topics":["navigation-component","navigationstack","swiftui","swiftui-components"],"license":"MIT","category":"mobile-apps","readme_excerpt":"Afloat Contextual navigation titles that animate based on scroll position for SwiftUI. Overview Afloat provides dynamic navigation titles and subtitles that respond to scroll events in SwiftUI. Perfect for list-based interfaces where you want the navigation bar to display context about what the user is viewing. - Contextual Navigation — Titles and subtitles that change as users scroll - Native Look & Feel — Animations match iOS's default behavior - Cross-Platform — iOS, macOS, and visionOS - SwiftUI Native — Drop-in replacements for standard modifiers - Lightweight — No dependencies, small footprint Installation Usage See RecipeBookExample.swift for a complete example. Customization Use .contextualNavigationTransition() to customize the animation between titles (e.g., .opacity , .numericText() , .interpolate ). Defaults to .identity . How It Works Afloat uses SwiftUI's PreferenceKey system to track the position of views marked with contextual navigation modifiers. When a view scrolls past the top edge of the screen, its title and subtitle are collected and displayed in the navigation bar. The ContextualNavigationManager monitors these preference updates and determines which title should be active based on scroll position, creating smooth transitions between sections. Documentation Full API reference and guides are available in the DocC documentation. Roadmap - [ ] Add support for Large navigation title - [x] More animation options (.numericText etc) - [ ] Toolbars support Lic","default_branch":null,"files":null,"tree":[],"storefront":"/r/AdelaideSky","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/AdelaideSky/Afloat/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}