Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/talisk/popevent
An elegant way to handle pop gesture recogenizer event on iOS.
https://github.com/talisk/popevent
Last synced: 3 months ago
JSON representation
An elegant way to handle pop gesture recogenizer event on iOS.
- Host: GitHub
- URL: https://github.com/talisk/popevent
- Owner: talisk
- License: mit
- Created: 2016-12-05T07:42:52.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-12-24T16:53:11.000Z (about 4 years ago)
- Last Synced: 2024-10-31T19:24:52.843Z (3 months ago)
- Language: Objective-C
- Homepage: http://www.talisk.cn
- Size: 619 KB
- Stars: 44
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PopEvent
English | [中文版](/READMECHS.md)
An elegant way to handle pop gesture recogenizer event.
## Why PopEvent?
Have you ever had such a problem?
* The screen-edge-pan gesture recognizer is invalid when you custom the `leftNavigationItem`.
* When you want to make user confirm whether to popToSuperViewController or not, you should prevent the pop and present a `UIAlertController'.Now you can implement them with a little bit of code.
## Example
### Enable ScreenEdgePan for custom-backButton
![](/Screenshots/p02.gif)
`AppDelegate.m`
``` objc
#import "AppDelegate.h"
#import "PopEvent.h"@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[PopEvent restorePopGestureRecognizer];
return YES;
}@end
```### Prevent the pop
![](/Screenshots/p01.gif)
`ViewController1.m`
``` objc
#import "ViewController1.h"
#import "PopEvent.h"@implementation ViewController1
- (void)viewDidLoad {
[super viewDidLoad];
[self addPopEventSelector:@selector(popEvent) viewController:self];
}- (void)popEvent {
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"PopEvent!" message:@"do something" preferredStyle:UIAlertControllerStyleAlert];
[alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]];
[self presentViewController:alertController animated:YES completion:nil];
}
```## Installation
### CocoaPods
PopEvent is available through [CocoaPods](http://cocoapods.org).
pod 'PopEvent'
### Manual
Drag the `PopEvent` folder to your project.
## Usage
PopEvent has two functions. First, `#import "PopEvent.h"`.
### Enable ScreenEdgePan for custom-backButton
Add only one line of code into `-application: didFinishLaunchingWithOptions:` in `AppDelegate`.
**Make sure the code runs before the RootViewController's initialization when your app isn't loaded from storyboard.**
``` objc
[PopEvent restorePopGestureRecognizer];
```### Prevent the pop
Add only one line of code into the ViewController which will be prevented the pop gesture recognizer.
``` objc
[self addPopEventSelector:@selector(popEvent) viewController:self];
```**The first parameter need to be replaced by the event function selector.**
You can find detail in the Example.
## Contribution
[@talisk](mailto:[email protected])
## Questions
Welcome to send email to me, or open issue on the repository.
The project follow to the MIT license. Welcome contributions.