1

I am currently working on a map feature that contains annotations with custom pins. Currently I have all my annotations displaying with custom pins - a sort of bubble image and a larger bubble for the current selected pin. Everything works grand for iOS 9 and 10 but I have hit a slight snag with iOS 11.

On the selection of the pin:

UIView.AnimateNotify(AnimatePinDuration, 0, NonSpringRatio, InitialSpringVelocity, UIViewAnimationOptions.CurveLinear, () => {
    view.CenterOffset = new CGPoint(0.0f, -(pin.Size.Height/2));
    view.Image = pin;
  }, null);

On the Deselection of the pin:

UIView.AnimateNotify(AnimatePinDuration, 0, SpringDampingRatio, InitialSpringVelocity, UIViewAnimationOptions.CurveLinear, () => {
    view.CenterOffset = new CGPoint(0.0f, -(pin.Size.Height/2));
    view.Image = pin;
  }, null);

The pin is the image. The CenterOffset is calculated so the pin does not change position when the image changes.

On iOS 11 the problem appears to be that the setting of the image appears to not be included in the animation block. So we get this flip to the smaller image and then the animation moves the image to its correct place.

Has anyone noticed a fix for this or know of any changes that may cause this.

Many Thanks

Robert
  • 61
  • 5
  • What do you mean by `setting of the image appears to not be included in the animation block`? – ColeX Dec 28 '17 at 09:32
  • in the sample code i posted i am trying to animate between two images. So i include the change in the Animation action of the AnimteNotifiy. But when the actual code runs instead of it animating between the two images it just blinks in rite away like its not part of the animation. – Robert Dec 28 '17 at 11:03

0 Answers0