Skip to content
This repository has been archived by the owner on Nov 12, 2024. It is now read-only.

Blocks for SHPopoverControllerBlocks shouldDismiss and didDismiss - swizzle free!

License

Notifications You must be signed in to change notification settings

seivan-archives/SHPopoverControllerBlocks

Repository files navigation

Deprecated, please use RxCocoa

SHPopoverControllerBlocks

CI Status Version Platform License

This pod is used by SHUIKitBlocks as part of many components covering to plug the holes missing from Foundation, UIKit, CoreLocation, GameKit, MapKit and other aspects of an iOS application's architecture.

Overview

Life cycle blocks for SHPopoverControllerBlocks - shouldDismiss and didDismiss. The blocks are automatically removed once they SHPopoverControllerBlocks is gone, so it isn't necessary to clean up - Swizzle Free(™)

API

Installation

pod 'SHPopoverControllerBlocks'

Setup

Put this either in specific files or your project prefix file

#import "UIPopoverController+SHPopoverControllerBlocks.h"

or

#import "SHPopoverControllerBlocks.h"

API

Properties

#pragma mark -
#pragma mark Block Def
typedef BOOL (^SHPopverControllerShouldDismissBlock)(UIPopoverController * thePopoverController);
typedef void (^SHPopverControllerDidDismissBlock)(UIPopoverController * thePopoverController);

@interface UIPopoverController (SHPopoverControllerBlocks)


#pragma mark -
#pragma mark Properties

#pragma mark -
#pragma mark Setters

-(void)SH_setShouldDismissPopoverBlock:(SHPopverControllerShouldDismissBlock)theBlock;

-(void)SH_setDidDismissPopoverBlock:(SHPopverControllerDidDismissBlock)theBlock;

#pragma mark -
#pragma mark Getters

@property(nonatomic,readonly) SHPopverControllerShouldDismissBlock SH_blockShouldDismissPopoverBlock;
@property(nonatomic,readonly) SHPopverControllerDidDismissBlock    SH_blockDidDismissPopoverBlock;
@end

Usage

  [self.popController SH_setShouldDismissPopoverBlock:^BOOL(UIPopoverController *thePopoverController) {
    testShouldDismiss = YES;
    dispatch_semaphore_signal(semaphoreShouldDismiss);
    return YES;
  }];
  
  [self.popController SH_setDidDismissPopoverBlock:^(UIPopoverController *thePopoverController) {
    testDidDismiss = YES;
    dispatch_semaphore_signal(semaphoreDidDismiss);
  }];

Contact

If you end up using SHPopoverControllerBlocks in a project, I'd love to hear about it.

email: [email protected]
twitter: @seivanheidari

License

SHPopoverControllerBlocks is © 2013 Seivan and may be freely distributed under the MIT license. See the LICENSE.md file.

About

Blocks for SHPopoverControllerBlocks shouldDismiss and didDismiss - swizzle free!

Resources

License

Stars

Watchers

Forks

Packages

No packages published