diff options
Diffstat (limited to 'platform/ios/Classes')
-rw-r--r-- | platform/ios/Classes/TapImage.h | 4 | ||||
-rw-r--r-- | platform/ios/Classes/TapImage.m | 19 |
2 files changed, 22 insertions, 1 deletions
diff --git a/platform/ios/Classes/TapImage.h b/platform/ios/Classes/TapImage.h index 43234474..af31ea5f 100644 --- a/platform/ios/Classes/TapImage.h +++ b/platform/ios/Classes/TapImage.h @@ -1,5 +1,9 @@ #import <UIKit/UIKit.h> @interface TapImage : UIImageView +{ + id target; + SEL action; +} - (id)initWithResource:(NSString *)resource target:(id)obj action:(SEL)selector; @end diff --git a/platform/ios/Classes/TapImage.m b/platform/ios/Classes/TapImage.m index e02e8b7a..09c85189 100644 --- a/platform/ios/Classes/TapImage.m +++ b/platform/ios/Classes/TapImage.m @@ -1,5 +1,7 @@ #import "TapImage.h" +static const NSTimeInterval TapDuration = 0.05; + @implementation TapImage - (id)initWithResource:(NSString *)resource target:(id)targ action:(SEL)selector @@ -8,11 +10,26 @@ self = [super initWithImage:image]; if (self) { - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:targ action:selector]; + target = targ; + action = selector; + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTap)]; [self addGestureRecognizer:tap]; [tap release]; } return self; } +- (void) onTap +{ + [UIView animateWithDuration:TapDuration animations:^{ + self.backgroundColor = [UIColor darkGrayColor]; + } completion:^(BOOL finished) { + [UIView animateWithDuration:TapDuration animations:^{ + self.backgroundColor = [UIColor clearColor]; + } completion:^(BOOL finished) { + [target performSelector:action withObject:nil]; + }]; + }]; +} + @end |