From da45aaf54b5a60bfb495c9b495205a4b34efbfcc Mon Sep 17 00:00:00 2001 From: Isabelle Santin Date: Mon, 8 Sep 2025 10:51:02 -0500 Subject: [PATCH] Fix crashing bug with iOS VoiceOver scroll gesture --- src/iOS/Avalonia.iOS/AutomationPeerWrapper.cs | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/iOS/Avalonia.iOS/AutomationPeerWrapper.cs b/src/iOS/Avalonia.iOS/AutomationPeerWrapper.cs index 2dceac149b..f0cc7ed3be 100644 --- a/src/iOS/Avalonia.iOS/AutomationPeerWrapper.cs +++ b/src/iOS/Avalonia.iOS/AutomationPeerWrapper.cs @@ -321,23 +321,23 @@ namespace Avalonia.iOS switch (direction) { case UIAccessibilityScrollDirection.Up: - verticalAmount = ScrollAmount.SmallIncrement; + verticalAmount = ScrollAmount.LargeIncrement; horizontalAmount = ScrollAmount.NoAmount; didScroll = true; break; case UIAccessibilityScrollDirection.Down: - verticalAmount = ScrollAmount.SmallDecrement; + verticalAmount = ScrollAmount.LargeDecrement; horizontalAmount = ScrollAmount.NoAmount; didScroll = true; break; case UIAccessibilityScrollDirection.Left: verticalAmount = ScrollAmount.NoAmount; - horizontalAmount = ScrollAmount.SmallIncrement; + horizontalAmount = ScrollAmount.LargeIncrement; didScroll = true; break; case UIAccessibilityScrollDirection.Right: verticalAmount = ScrollAmount.NoAmount; - horizontalAmount = ScrollAmount.SmallDecrement; + horizontalAmount = ScrollAmount.LargeDecrement; didScroll = true; break; default: @@ -347,12 +347,16 @@ namespace Avalonia.iOS break; } - scrollProvider.Scroll(verticalAmount, horizontalAmount); - if (didScroll) + try { - UIAccessibility.PostNotification(UIAccessibilityPostNotification.PageScrolled, null); - return true; + scrollProvider.Scroll(verticalAmount, horizontalAmount); + if (didScroll) + { + UIAccessibility.PostNotification(UIAccessibilityPostNotification.PageScrolled, null); + return true; + } } + catch (InvalidOperationException) { } } return false; }