Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/forkingdog/FDFullscreenPopGesture
A UINavigationController's category to enable fullscreen pop gesture with iOS7+ system style.
https://github.com/forkingdog/FDFullscreenPopGesture
Last synced: 3 months ago
JSON representation
A UINavigationController's category to enable fullscreen pop gesture with iOS7+ system style.
- Host: GitHub
- URL: https://github.com/forkingdog/FDFullscreenPopGesture
- Owner: forkingdog
- License: mit
- Created: 2015-05-29T06:15:39.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-07-08T17:06:04.000Z (over 3 years ago)
- Last Synced: 2024-05-15T21:24:44.127Z (6 months ago)
- Language: Objective-C
- Size: 1.02 MB
- Stars: 5,895
- Watchers: 152
- Forks: 1,143
- Open Issues: 112
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - FDFullscreenPopGesture - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. (Gesture / Getting Started)
- awesome-ios-star - FDFullscreenPopGesture - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. (Gesture / Getting Started)
- Awesome-iOS - FDFullscreenPopGesture - A UINavigationController's category to enable fullscreen pop gesture with iOS7+ system style. (UI Effects)
README
# FDFullscreenPopGesture
An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP.# Overview
![snapshot](https://raw.githubusercontent.com/forkingdog/FDFullscreenPopGesture/master/Snapshots/snapshot0.gif)
这个扩展来自 @J_雨 同学的这个很天才的思路,他的文章地址:[http://www.jianshu.com/p/d39f7d22db6c](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:
``` objc
navigationController.fd_fullscreenPopGestureRecognizer.enabled = NO;
```To disable this pop gesture of a view controller:
``` objc
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](https://raw.githubusercontent.com/forkingdog/FDFullscreenPopGesture/master/Snapshots/snapshot1.gif)
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:
``` objc
- (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:
``` objc
- (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
``` ruby
pod 'FDFullscreenPopGesture', '1.1'
```
# Release Notes**1.1** - View controller based navigation bar appearance and transition.
**1.0** - Fullscreen pop gesture.# License
MIT