Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. AMScrollingNavbar

AMScrollingNavbar

MITSwift5.3.0

A custom UINavigationController that enables the navigation bar to scroll alongside a UIScrollView in iOS apps.

GitHubGitHub
6.0k stars632 forks0 contributors

What is AMScrollingNavbar?

AMScrollingNavbar is a Swift library that creates a scrollable UINavigationBar that collapses and expands in sync with a UIScrollView, such as a UITableView or UICollectionView. It solves the problem of limited screen space in iOS apps by hiding the navigation bar as users scroll down and revealing it when they scroll up, similar to behaviors seen in apps like Safari or Twitter.

Target Audience

iOS developers building apps with scrollable content who want to implement dynamic navigation bar interactions to improve user experience and maximize content visibility.

Value Proposition

Developers choose AMScrollingNavbar because it provides a ready-to-use, customizable solution with smooth animations, support for follower views, and easy integration via CocoaPods or Carthage, saving time compared to building such functionality from scratch.

Overview

Scrollable UINavigationBar that follows the scrolling of a UIScrollView

Use Cases

Best For

  • Implementing collapsible navigation bars in table view or collection view based apps
  • Adding dynamic UI interactions similar to Safari's hideable address bar
  • Maximizing screen real estate in content-heavy iOS applications
  • Creating immersive reading or browsing experiences with minimal UI distractions
  • Syncing multiple UI elements (like toolbars) with navigation bar scrolling
  • Enhancing user experience in iOS apps with fluid, native-feeling scroll animations

Not Ideal For

  • Apps built entirely with SwiftUI that require seamless native integration without UIKit bridging
  • Projects with highly customized UINavigationController subclasses that conflict with ScrollingNavigationController
  • Teams needing automatic support for modern iOS features like large titles or inline search bars without additional work

Pros & Cons

Pros

Smooth Scroll Animations

Delivers native-feeling collapse and expand animations that enhance user experience, as demonstrated in the project's GIF screenshot.

Follower Views Syncing

Allows additional UI elements like toolbars or tab bars to move in sync with the navigation bar, maximizing screen real estate efficiently.

Customizable Scrolling Parameters

Provides control over delay, scroll speed factor, and additional offset for fine-tuning scrolling behavior to match specific app needs.

Backward Compatibility

Supports both Swift and Objective-C with maintained versions for different Swift syntax updates, easing migration and adoption.

Cons

Intrusive Subclassing Requirement

Forces the use of ScrollingNavigationController instead of standard UINavigationController, which can conflict with other custom navigation setups and increase integration complexity.

Manual Tint Color Updates

Requires calling navBarTintUpdated() after changing UINavigationBar.tintColor, adding unnecessary boilerplate and potential for visual bugs if forgotten.

Complex Navigation Handling

Demands careful implementation in viewWillDisappear to show the navbar and handle followers, increasing setup complexity and risk of errors.

Frequently Asked Questions

Quick Stats

Stars6,006
Forks632
Contributors0
Open Issues38
Last commit3 years ago
CreatedSince 2013

Tags

#mobile-ui#ios#ui-components#cocoapods#swift#navigation-bar#carthage

Built With

C
Carthage
U
UIKit
C
CocoaPods
S
Swift

Included in

iOS51.7kSwift26.0k
Auto-fetched 1 day ago

Related Projects

SkeletonViewSkeletonView

☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting

Stars12,869
Forks1,127
Last commit16 days ago
MaterialMaterial

A UI/UX framework for creating beautiful applications.

Stars11,986
Forks1,257
Last commit3 years ago
NVActivityIndicatorViewNVActivityIndicatorView

A collection of awesome loading animations

Stars10,715
Forks1,156
Last commit1 month ago
MacawMacaw

Powerful and easy-to-use vector graphics Swift library with SVG support

Stars6,049
Forks568
Last commit2 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