From 1453f662e9bfd4eaacd6edee4f09e60521d46d45 Mon Sep 17 00:00:00 2001 From: Paul Gardiner Date: Fri, 10 Jan 2014 16:53:31 +0000 Subject: iOS: animate the custom buttons used for the iPhone build --- platform/ios/Classes/TapImage.h | 4 ++++ platform/ios/Classes/TapImage.m | 19 ++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'platform/ios/Classes') 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 @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 -- cgit v1.2.3