Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. TONavigationBar

TONavigationBar

MITObjective-C

A UINavigationBar subclass that replicates the iOS 12 Apple TV app's transparent, scroll-responsive navigation bar style.

GitHubGitHub
251 stars24 forks0 contributors

What is TONavigationBar?

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.

Target Audience

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.

Value Proposition

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.

Overview

Replicating the 'clear' navigation bar style of the iOS 12 Apple TV app.

Use Cases

Best For

  • Implementing Apple Music-style transparent navigation bars
  • Creating immersive scrolling interfaces with dynamic navigation bars
  • Building iOS apps with modern Apple TV app aesthetics
  • Adding scroll-responsive UI elements to table or collection views
  • Developing iOS apps that need light/dark theme compatible navigation
  • Creating banner headers that coordinate with navigation bar transparency

Not Ideal For

  • Projects built entirely with SwiftUI needing native navigation components
  • Apps that must support iOS versions earlier than 11.0
  • Teams averse to maintenance risks from internal view hierarchy traversal
  • Applications requiring highly customizable navigation bars beyond transparency effects

Pros & Cons

Pros

Seamless UINavigationController Integration

Fully integrates with UINavigationController and supports swipe-to-go-back gestures, as highlighted in the README, ensuring a native feel without disrupting navigation flow.

Automatic Scroll Coordination

Allows targeting a UIScrollView to automatically sync background visibility with scroll position, reducing manual code for scroll-responsive UI, per the features list.

Light/Dark Theme Support

Compatible with both light and dark themed iOS apps, enabling consistent aesthetics across system settings without extra configuration.

App Store Safe Implementation

Avoids private API calls by using public methods and custom reimplementation, as the README confirms, minimizing rejection risks while achieving the desired effect.

Cons

Reliance on Internal View Traversal

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.

iOS Version Limitation

Requires iOS 11.0 or above, excluding support for older devices and apps that need broader compatibility, as specified in the system requirements.

UIKit-Only Dependency

Tied to UIKit and does not support SwiftUI, making it less suitable for modern iOS projects adopting Apple's newer UI frameworks.

Frequently Asked Questions

Quick Stats

Stars251
Forks24
Contributors0
Open Issues4
Last commit3 years ago
CreatedSince 2018

Tags

#uinavigationbar#ios#objective-c#ui-components#cocoapods#swift#navigation#scroll-animation

Built With

i
iOS
O
Objective-C
C
CocoaPods

Included in

iOS51.7k
Auto-fetched 10 hours ago

Related Projects

AMScrollingNavbarAMScrollingNavbar

Scrollable UINavigationBar that follows the scrolling of a UIScrollView

Stars5,992
Forks628
Last commit3 years ago
LTNavigationBarLTNavigationBar

UINavigationBar Category which allows you to change its appearance dynamically

Stars4,419
Forks668
Last commit8 years ago
KMNavigationBarTransitionKMNavigationBarTransition

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.

Stars3,346
Forks445
Last commit2 years ago
HidingNavigationBarHidingNavigationBar

Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls

Stars1,034
Forks125
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub