Latest 0.2.0
Homepage https://github.com/talisk/PopEvent
License MIT
Platforms ios 7.0, requires ARC
Authors

English | 中文版

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

AppDelegate.m

#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

ViewController1.m

#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.

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.

[PopEvent restorePopGestureRecognizer];

Prevent the pop

Add only one line of code into the ViewController which will be prevented the pop gesture recognizer.

[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

Questions

Welcome to send email to me, or open issue on the repository.

The project follow to the MIT license. Welcome contributions.

Latest podspec

{
    "name": "PopEvent",
    "version": "0.2.0",
    "summary": "An elegant way to handling pop gesture recogenizer event.",
    "description": "An elegant way to handling pop gesture recogenizer event. 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.",
    "homepage": "https://github.com/talisk/PopEvent",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "talisk": "[email protected]"
    },
    "social_media_url": "http://weibo.com/u/1574201213",
    "platforms": {
        "ios": "7.0"
    },
    "source": {
        "git": "https://github.com/talisk/PopEvent.git",
        "tag": "0.2.0"
    },
    "source_files": [
        "PopEvent",
        "PopEvent/*.{h,m}"
    ],
    "requires_arc": true
}

Pin It on Pinterest

Share This