A Swift library for animating UINavigationBar background color changes during push and pop transitions.
RainbowNavigation is a Swift library designed to animate changes to the UINavigationBar's background color during push and pop transitions in iOS apps. It solves the problem of static or jarring navigation bar color changes by providing smooth, integrated animations that enhance user experience. The library offers simple methods to set transparent bars, restore defaults, and add status bar masks.
iOS developers using Swift who need to customize UINavigationBar appearances with animated transitions, particularly those building apps with dynamic or theme-based navigation bars.
Developers choose RainbowNavigation for its straightforward API, seamless integration with UINavigationController, and focus on smooth visual transitions without complex setup. It fills a niche for animated navigation bar customization not fully covered by Apple's native APIs.
An easy way to change backgroundColor of UINavigationBar when Push & Pop
Enables animated changes to UINavigationBar background during push and pop operations, as demonstrated in the demo GIFs and through the RainbowColorSource protocol.
Provides simple API methods like df_setBackgroundColor(.clear) and df_reset() to manage navigation bar transparency without complex setup, as shown in the usage section.
Includes df_setStatusBarMaskColor() to add a customizable color mask over the status bar, enhancing visual cohesion with the navigation bar, as detailed in the README.
Uses the RainbowColorSource protocol to let view controllers specify colors dynamically, making it easy to integrate with existing navigation patterns without subclassing.
Designed specifically for UIKit's UINavigationBar, so it doesn't support SwiftUI or newer iOS UI frameworks, restricting its relevance in modern app development.
Focuses solely on color and transparency changes, lacking features for animating other navigation bar elements like title text or button appearances, which the README doesn't address.
Requires wiring the UINavigationController to RainbowNavigation and implementing the RainbowColorSource protocol in each view controller, adding boilerplate code that can be cumbersome for larger apps.
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.
Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.