12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- //
- // IDMTapDetectingImageView.m
- // IDMPhotoBrowser
- //
- // Created by Michael Waterfall on 04/11/2009.
- // Copyright 2009 d3i. All rights reserved.
- //
- #import "IDMTapDetectingImageView.h"
- @implementation IDMTapDetectingImageView
- @synthesize tapDelegate;
- - (id)initWithFrame:(CGRect)frame {
- if ((self = [super initWithFrame:frame])) {
- self.userInteractionEnabled = YES;
- }
- return self;
- }
- - (id)initWithImage:(UIImage *)image {
- if ((self = [super initWithImage:image])) {
- self.userInteractionEnabled = YES;
- }
- return self;
- }
- - (id)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage {
- if ((self = [super initWithImage:image highlightedImage:highlightedImage])) {
- self.userInteractionEnabled = YES;
- }
- return self;
- }
- - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
- UITouch *touch = [touches anyObject];
- NSUInteger tapCount = touch.tapCount;
- switch (tapCount) {
- case 1:
- [self handleSingleTap:touch];
- break;
- case 2:
- [self handleDoubleTap:touch];
- break;
- case 3:
- [self handleTripleTap:touch];
- break;
- default:
- break;
- }
- [[self nextResponder] touchesEnded:touches withEvent:event];
- }
- - (void)handleSingleTap:(UITouch *)touch {
- if ([tapDelegate respondsToSelector:@selector(imageView:singleTapDetected:)])
- [tapDelegate imageView:self singleTapDetected:touch];
- }
- - (void)handleDoubleTap:(UITouch *)touch {
- if ([tapDelegate respondsToSelector:@selector(imageView:doubleTapDetected:)])
- [tapDelegate imageView:self doubleTapDetected:touch];
- }
- - (void)handleTripleTap:(UITouch *)touch {
- if ([tapDelegate respondsToSelector:@selector(imageView:tripleTapDetected:)])
- [tapDelegate imageView:self tripleTapDetected:touch];
- }
- @end
|