Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6072671
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T10:11:09+00:00 2026-05-23T10:11:09+00:00

I have a subclass of MKPointAnnotation with the following method which I run on

  • 0

I have a subclass of MKPointAnnotation with the following method which I run on iOS 4:

- (void)animate {
    [UIView
     animateWithDuration: 3.0
     delay:1.0
     options:UIViewAnimationOptionAllowUserInteraction
     animations:^{
         CLLocationCoordinate2D loc = 
             CLLocationCoordinate2DMake([self coordinate].latitude + 0.001,
                                        [self coordinate].longitude + 0.001);
         [self setCoordinate:loc];

     }
     completion:^(BOOL finished) {
         NSLog(@"Is completed");
     }];
}

It is called by clicking a UIBarButtonItem.

I expect to see the my annotation travel across a MKMapView. However all I see is the annotation in its final resting place when I call the method like this:

[mapView addAnnotation:myAnnotation];
[myAnnotation animate];
[myAnnotation release];

The intended animation only occurs if I call the method like this:

[mapView addAnnotation:myAnnotation];
[myAnnotation performSelector:@selector(animate) withObject:nil afterDelay:0.5];
[myAnnotation release];

Note that I get the unintended behavior if the ‘afterDelay’, is smaller e.g. < 0.1s.

Any ideas why this could be the case?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T10:11:09+00:00Added an answer on May 23, 2026 at 10:11 am

    The animation ultimately acts on the MKAnnotationView, not the MKAnnotation. Adding an annotation to a MKMapView does not necessarily mean that the corresponding view will be added any time soon.

    Therefore you get crazy behaviour if you attempt to animate a MKAnnotation before its corresponding MKAnnotationView has been added to the MKMapView.

    The solution is to only animate a MKAnnotation once you know its corresponding MKAnnotationView has been added to MKView. You can know this by using MKMapViewDelegate - (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views to trigger your animation.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Im have a subclass of UIView, called PinView, which contains an image. Basically PinView
I have a subclass of UIView which draws itself based on data held in
I have a subclass of UIView in which it has a drawRect in it.
I have a subclass of UIViewController which handles a UIView. The viewcontroller is presented
I have a subclass of UIView , that have inherited the - initWithFrame: method.
I have a class called ToolbarView which is a subclass of UIView and basically
I am using following code to color image on touch event.I have subclass uiview
I have a subclass that calls a method from a superclass. The method in
I have a subclass of UIView that displays some Core Graphics drawn in a
I have subclass UIView class in a Bounce class with Accelerometer. This Bounce class

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.