Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

FDFullscreenPopGesture

An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP.

Overview

snapshot

这个扩展来自 @J_雨 同学的这个很天才的思路,他的文章地址:http://www.jianshu.com/p/d39f7d22db6c

Usage

AOP, just add 2 files and no need for any setups, all navigation controllers will be able to use fullscreen pop gesture automatically.

To disable this pop gesture of a navigation controller:

navigationController.fd_fullscreenPopGestureRecognizer.enabled = NO;

To disable this pop gesture of a view controller:

viewController.fd_interactivePopDisabled = YES;

Require at least iOS 7.0.

View Controller Based Navigation Bar Appearance

It handles navigation bar transition properly when using fullscreen gesture to push or pop a view controller:

  • with bar -> without bar
  • without bar -> with bar
  • without bar -> without bar

snapshot with bar states

This opmiziation is enabled by default, from now on you don't need to call UINavigationController's -setNavigationBarHidden:animated: method, instead, use view controller's specific API to hide its bar:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.fd_prefersNavigationBarHidden = NO;
}

And this property is NO by default.

View Controller With ScrollView

If you want to use fullscreen pop gesture in ViewController with scrollView or subclass of scrollView , you should customize the scrollView or subclass of scrollView and overload the gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: method . like this:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    if (self.contentOffset.x <= 0) {
        if ([otherGestureRecognizer.delegate isKindOfClass:NSClassFromString(@"_FDFullscreenPopGestureRecognizerDelegate")]) {
            return YES;
        }
    }
    return NO;
}

Installation

Use CocoaPods

pod 'FDFullscreenPopGesture', '1.1'

Release Notes

1.1 - View controller based navigation bar appearance and transition.
1.0 - Fullscreen pop gesture.

License

MIT

About

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

Resources

License

Packages

No packages published