Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. FDFullscreenPopGesture

FDFullscreenPopGesture

MITObjective-C

A UINavigationController category enabling fullscreen pop gestures with iOS7+ system style using AOP.

GitHubGitHub
5.9k stars1.1k forks0 contributors

What is FDFullscreenPopGesture?

FDFullscreenPopGesture is an iOS library that extends UINavigationController to support fullscreen pop gestures, mimicking the system's interactive transition style from iOS 7 onward. It solves the limitation of the default edge-only gesture by allowing swipes from anywhere on the screen, enhancing user experience with smoother navigation. The library uses aspect-oriented programming (AOP) for automatic integration, requiring no additional setup.

Target Audience

iOS developers building applications with UINavigationController who want to implement native-style fullscreen pop gestures without complex custom implementations.

Value Proposition

Developers choose FDFullscreenPopGesture for its zero-configuration AOP approach, seamless handling of navigation bar transitions, and adherence to iOS design principles, providing a polished, system-like gesture experience with minimal code.

Overview

A UINavigationController's category to enable fullscreen pop gesture with iOS7+ system style.

Use Cases

Best For

  • Adding fullscreen swipe-to-pop gestures to iOS apps with UINavigationController
  • Implementing native iOS 7+ style navigation transitions without custom gesture recognizers
  • Handling complex navigation bar visibility changes during interactive pops
  • Integrating pop gestures in view controllers containing scroll views
  • Simplifying gesture customization per view controller or navigation controller
  • Enhancing user experience with edge-to-edge navigation interactions

Not Ideal For

  • Projects not using UIKit's UINavigationController, such as SwiftUI apps or custom navigation stacks
  • Apps requiring fine-grained control over gesture recognizers beyond standard pop behavior
  • Teams avoiding aspect-oriented programming due to runtime stability or debugging concerns
  • Applications targeting iOS versions below 7.0

Pros & Cons

Pros

Zero Configuration Setup

Uses aspect-oriented programming to automatically enable fullscreen pop gestures across all navigation controllers with just two added files, as emphasized in the README.

Seamless Navigation Bar Transitions

Handles complex scenarios like transitioning between view controllers with hidden or shown navigation bars, ensuring smooth visual effects during pops, as demonstrated in the provided snapshots.

Per-Controller Customization

Allows disabling the gesture for specific navigation controllers or view controllers via simple properties like fd_interactivePopDisabled, offering granular control.

Native iOS Experience

Replicates the iOS 7+ system interactive transition style with edge-to-edge swipe gestures, enhancing user experience without custom implementations.

Cons

Manual Scroll View Integration

Requires developers to override gesture recognizer methods in scroll view subclasses, adding complexity and potential for errors, as admitted in the README's guidance section.

AOP Runtime Risks

The aspect-oriented approach can introduce subtle bugs or conflicts with other libraries that also modify UIKit behavior at runtime, leading to debugging challenges.

UIKit-Only Limitation

Limited to traditional UIKit apps, making it unsuitable for modern iOS development with SwiftUI or cross-platform frameworks that don't rely on UINavigationController.

Frequently Asked Questions

Quick Stats

Stars5,892
Forks1,144
Contributors0
Open Issues92
Last commit4 years ago
CreatedSince 2015

Tags

#ios#objective-c#aop#cocoapods

Built With

O
Objective-C
C
CocoaPods
i
iOS SDK

Included in

iOS51.7k
Auto-fetched 1 day 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