diff --git a/src/Controls/src/Core/Platform/GestureManager/GesturePlatformManager.iOS.cs b/src/Controls/src/Core/Platform/GestureManager/GesturePlatformManager.iOS.cs index 38e8f8f851bd..411c9bda451d 100644 --- a/src/Controls/src/Core/Platform/GestureManager/GesturePlatformManager.iOS.cs +++ b/src/Controls/src/Core/Platform/GestureManager/GesturePlatformManager.iOS.cs @@ -101,9 +101,12 @@ public void Dispose() PlatformView.RemoveInteraction(interaction); } } + + _interactions.Clear(); _gestureRecognizers.Clear(); _dragAndDropDelegate?.Disconnect(); + _dragAndDropDelegate = null; Disconnect(); @@ -608,6 +611,7 @@ _handler.VirtualView is View v && { var interaction = new UIDragInteraction(_dragAndDropDelegate); interaction.Enabled = true; + _interactions.Add(interaction); PlatformView.AddInteraction(interaction); } } @@ -619,10 +623,12 @@ _handler.VirtualView is View v && if (uIDropInteraction == null && PlatformView != null) { var interaction = new UIDropInteraction(_dragAndDropDelegate); + _interactions.Add(interaction); PlatformView.AddInteraction(interaction); } } } + if (OperatingSystem.IsIOSVersionAtLeast(11)) { if (!dragFound && uIDragInteraction != null && PlatformView != null)