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