A Swift library to automatically hide and show navigation bars and tab bars as users scroll in iOS apps.
HidingNavigationBar is a Swift library for iOS that automatically hides and shows navigation bars, toolbars, and tab bars as users scroll. It solves the problem of cluttered interfaces by dynamically managing screen space, providing a cleaner, more immersive reading experience similar to apps like Safari or Twitter.
iOS developers building scroll-heavy applications like readers, feeds, or content browsers who want to implement dynamic navigation bar behaviors.
Developers choose HidingNavigationBar for its straightforward API, support for multiple UI element combinations, and customizable scrolling resistance, avoiding the complexity of manually implementing these interactions.
Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls
Setup involves initializing a HidingNavigationBarManager and relaying a few lifecycle and delegate methods, making it straightforward to add to existing view controllers as shown in the usage example.
Manages combinations like UINavigationBar with extension views, toolbars, or tab bars, demonstrated in the README with screenshots for each scenario.
Offers features like expansion resistance and foreground action settings, allowing developers to fine-tune hiding and showing based on scroll distance and app state.
Explicitly supports UIRefreshControl by allowing assignment to the manager, ensuring compatibility with pull-to-refresh functionality in scroll views.
Only works with UINavigationBars that have translucent set to true, limiting design options for apps that prefer opaque bars, as admitted in the README notes.
Requires manual implementation in each view controller, including relaying lifecycle methods and delegate functions, which can be repetitive and error-prone in large codebases.
No support for SwiftUI or modern iOS frameworks mentioned, making it less suitable for apps transitioning to newer architectures or targeting cross-platform development.
Scrollable UINavigationBar that follows the scrolling of a UIScrollView
UINavigationBar Category which allows you to change its appearance dynamically
A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. And you don't need to write any line of code for it, it all happens automatically.
A UINavigationBar extension to show loading effects
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.