ALActionBlocks is an Objective-C category on UIControl, UIBarButtonItem, and UIGestureRecognizer that allows for handling of control events with blocks.
- Handle control events with blocks
- Remove blocks for control events
- Gives you a weak reference to your control in the block
- Works with all of your existing subclasses of UIControl, UIBarButtonItem, and UIGestureRecognizer
This category was inspired by [Dave DeLong] (https://github.com/davedelong)'s StackOverflow [answer] (http://stackoverflow.com/a/4582061/315074).
#import "ALActionBlocks.h"
// Assuming you have a UIButton named 'button'
[button handleControlEvents:UIControlEventTouchUpInside withBlock:^(id weakControl) {
NSLog(@"button pressed");
}];
[button removeActionBlocksForControlEvents:UIControlEventTouchUpInside];
That's it!
Check out the demo project for more details.
ALActionBlocks is compatible with iOS 5.0 and above.
Yuuuup!
ALActionBlocks is available under the [MIT] (http://opensource.org/licenses/MIT) license.