A UINavigationBar subclass that replicates the iOS 12 Apple TV app's transparent, scroll-responsive navigation bar style.
TONavigationBar is an open-source iOS library that provides a UINavigationBar subclass capable of replicating the transparent, scroll-responsive navigation bar style used in Apple's modern iOS apps like Music and TV. It solves the problem of Apple not providing public APIs to achieve this specific visual effect, allowing developers to create similar immersive interfaces in their own apps.
iOS developers building apps that require modern, immersive navigation interfaces similar to Apple's Music or TV apps, particularly those needing transparent navigation bars that respond to scrolling.
Developers choose TONavigationBar because it provides a safe, App Store-compliant way to achieve a popular Apple UI pattern without using private APIs, integrates seamlessly with UINavigationController, and includes companion components like TOHeaderImageView for complete implementation.
Replicating the 'clear' navigation bar style of the iOS 12 Apple TV app.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Fully integrates with UINavigationController and supports swipe-to-go-back gestures, as highlighted in the README, ensuring a native feel without disrupting navigation flow.
Allows targeting a UIScrollView to automatically sync background visibility with scroll position, reducing manual code for scroll-responsive UI, per the features list.
Compatible with both light and dark themed iOS apps, enabling consistent aesthetics across system settings without extra configuration.
Avoids private API calls by using public methods and custom reimplementation, as the README confirms, minimizing rejection risks while achieving the desired effect.
Uses view hierarchy traversal to find the title label, which the README admits is 'a terrible way to go' and may break in future iOS versions, requiring maintenance.
Requires iOS 11.0 or above, excluding support for older devices and apps that need broader compatibility, as specified in the system requirements.
Tied to UIKit and does not support SwiftUI, making it less suitable for modern iOS projects adopting Apple's newer UI frameworks.