diff options
Diffstat (limited to 'platform/ios/app/MBXAnnotationView.m')
-rw-r--r-- | platform/ios/app/MBXAnnotationView.m | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/platform/ios/app/MBXAnnotationView.m b/platform/ios/app/MBXAnnotationView.m index c181211431..82af15314a 100644 --- a/platform/ios/app/MBXAnnotationView.m +++ b/platform/ios/app/MBXAnnotationView.m @@ -51,6 +51,7 @@ case MGLAnnotationViewDragStateCanceling: break; case MGLAnnotationViewDragStateEnding: { + self.transform = CGAffineTransformScale(CGAffineTransformIdentity, 2, 2); [UIView animateWithDuration:.4 delay:0 usingSpringWithDamping:.4 initialSpringVelocity:.5 options:UIViewAnimationOptionCurveLinear animations:^{ self.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1); } completion:nil]; @@ -60,5 +61,17 @@ } +- (nullable id<CAAction>)actionForLayer:(CALayer *)layer forKey:(NSString *)event +{ + if (([event isEqualToString:@"transform"] || [event isEqualToString:@"position"]) + && self.dragState == MGLAnnotationViewDragStateNone) + { + CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:event]; + animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; + animation.speed = 0.1; + return animation; + } + return [super actionForLayer:layer forKey:event]; +} @end |