From 36a8b07dd3758f0e73a8296dbe5d2bc1eeaa0107 Mon Sep 17 00:00:00 2001 From: Jakub Florkowski Date: Thu, 19 Dec 2024 18:31:45 +0100 Subject: [PATCH 1/2] Flyout Icon - RTL support --- .../FlyoutPage/iOS/PhoneFlyoutPageRenderer.cs | 12 ++++--- .../NavigationPage/iOS/NavigationRenderer.cs | 31 +++++++++++++------ .../TestCases.HostApp/Issues/Issue26726.cs | 28 +++++++++++++++++ .../Tests/Issues/Issue26726.cs | 22 +++++++++++++ 4 files changed, 79 insertions(+), 14 deletions(-) create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue26726.cs create mode 100644 src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue26726.cs diff --git a/src/Controls/src/Core/Compatibility/Handlers/FlyoutPage/iOS/PhoneFlyoutPageRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/FlyoutPage/iOS/PhoneFlyoutPageRenderer.cs index 8cf5c209b799..93dd364c7413 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/FlyoutPage/iOS/PhoneFlyoutPageRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/FlyoutPage/iOS/PhoneFlyoutPageRenderer.cs @@ -155,7 +155,7 @@ void SetInitialPresented() else UpdatePresented(((FlyoutPage)Element).IsPresented); - UpdateLeftBarButton(); + UpdateBarButton(); } public override void ViewWillLayoutSubviews() @@ -219,7 +219,7 @@ public override void ViewWillTransitionToSize(CoreGraphics.CGSize toSize, IUIVie UpdatePresented(false); } - UpdateLeftBarButton(); + UpdateBarButton(); } void UpdatePresented(bool newValue, bool animated = false) @@ -349,7 +349,7 @@ void EmptyContainers() void HandleFlyoutPropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == Page.IconImageSourceProperty.PropertyName || e.PropertyName == Page.TitleProperty.PropertyName) - UpdateLeftBarButton(); + UpdateBarButton(); } void HandlePropertyChanged(object sender, PropertyChangedEventArgs e) @@ -369,6 +369,8 @@ void HandlePropertyChanged(object sender, PropertyChangedEventArgs e) else if (e.PropertyName == PlatformConfiguration.iOSSpecific.Page.PrefersHomeIndicatorAutoHiddenProperty.PropertyName || e.PropertyName == PlatformConfiguration.iOSSpecific.Page.PrefersStatusBarHiddenProperty.PropertyName) UpdatePageSpecifics(); + else if (e.Is(VisualElement.FlowDirectionProperty)) + UpdateBarButton(); } void LayoutChildren(bool animated) @@ -559,7 +561,7 @@ void UpdateFlyoutPageContainers() UpdatePageSpecifics(); } - void UpdateLeftBarButton() + void UpdateBarButton() { var FlyoutPage = Element as FlyoutPage; if (!(FlyoutPage?.Detail is NavigationPage)) @@ -571,7 +573,7 @@ void UpdateLeftBarButton() UIViewController firstPage = detailRenderer?.ViewControllers.FirstOrDefault(); if (firstPage != null) - NavigationRenderer.SetFlyoutLeftBarButton(firstPage, FlyoutPage); + NavigationRenderer.SetFlyoutBarButton(firstPage, FlyoutPage, IsRTL); } void UpdateApplyShadow(bool value) diff --git a/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs index 30a2f4cb9494..730c61cd8bc0 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs @@ -922,23 +922,30 @@ bool DidPopItem(UINavigationBar _, UINavigationItem __) return true; } - internal static void SetFlyoutLeftBarButton(UIViewController containerController, FlyoutPage FlyoutPage) + internal static void SetFlyoutBarButton(UIViewController containerController, FlyoutPage FlyoutPage, bool isRTL) { + if (isRTL) + containerController.NavigationItem.LeftBarButtonItem = null; + else + containerController.NavigationItem.RightBarButtonItem = null; + if (!FlyoutPage.ShouldShowToolbarButton()) { containerController.NavigationItem.LeftBarButtonItem = null; + containerController.NavigationItem.RightBarButtonItem = null; return; } - FlyoutPage.Flyout.IconImageSource.LoadImage(FlyoutPage.FindMauiContext(), result => { var icon = result?.Value; + UIBarButtonItem uIBarButtonItem = null; + if (icon != null) { try { - containerController.NavigationItem.LeftBarButtonItem = new UIBarButtonItem(icon, UIBarButtonItemStyle.Plain, OnItemTapped); + uIBarButtonItem = new UIBarButtonItem(icon, UIBarButtonItemStyle.Plain, OnItemTapped); } catch (Exception) { @@ -946,16 +953,22 @@ internal static void SetFlyoutLeftBarButton(UIViewController containerController } } - if (icon == null || containerController.NavigationItem.LeftBarButtonItem == null) + if (icon == null || uIBarButtonItem == null) { - containerController.NavigationItem.LeftBarButtonItem = new UIBarButtonItem(FlyoutPage.Flyout.Title, UIBarButtonItemStyle.Plain, OnItemTapped); + uIBarButtonItem = new UIBarButtonItem(FlyoutPage.Flyout.Title, UIBarButtonItemStyle.Plain, OnItemTapped); } if (FlyoutPage != null && !string.IsNullOrEmpty(FlyoutPage.AutomationId)) - SetAutomationId(containerController.NavigationItem.LeftBarButtonItem, $"btn_{FlyoutPage.AutomationId}"); + SetAutomationId(uIBarButtonItem, $"btn_{FlyoutPage.AutomationId}"); + + uIBarButtonItem.SetAccessibilityHint(FlyoutPage); + uIBarButtonItem.SetAccessibilityLabel(FlyoutPage); + + if (isRTL) + containerController.NavigationItem.RightBarButtonItem = uIBarButtonItem; + else + containerController.NavigationItem.LeftBarButtonItem = uIBarButtonItem; - containerController.NavigationItem.LeftBarButtonItem.SetAccessibilityHint(FlyoutPage); - containerController.NavigationItem.LeftBarButtonItem.SetAccessibilityLabel(FlyoutPage); }); void OnItemTapped(object sender, EventArgs e) @@ -1481,7 +1494,7 @@ internal void UpdateLeftBarButtonItem(Page pageBeingRemoved = null) return; } - SetFlyoutLeftBarButton(this, n._parentFlyoutPage); + SetFlyoutBarButton(this, n._parentFlyoutPage, isRTL: false); } diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue26726.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue26726.cs new file mode 100644 index 000000000000..a1032be7e03c --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue26726.cs @@ -0,0 +1,28 @@ +namespace Maui.Controls.Sample.Issues +{ + + [Issue(IssueTracker.Github, 26726, "Flyout Icon Positioned Incorrectly in RTL mode", PlatformAffected.iOS)] + class Issue26726 : FlyoutPage + { + public Issue26726() + { + Flyout = new ContentPage { Title = "Flyout" }; + Detail = new NavigationPage(new ContentPage + { + Title = "Detail", + Content = new StackLayout + { + Children = { + new Button + { + Text = "Set RightToLeft", + Command = new Command(() => FlowDirection = FlowDirection.RightToLeft), + AutomationId = "ShowRightToLeft" + } + } + } + }); + } + + } +} diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue26726.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue26726.cs new file mode 100644 index 000000000000..f5372abff194 --- /dev/null +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue26726.cs @@ -0,0 +1,22 @@ +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.TestCases.Tests.Issues +{ + public class Issue26726 : _IssuesUITest + { + public override string Issue => "Flyout Icon Positioned Incorrectly in RTL mode"; + + public Issue26726(TestDevice testDevice) : base(testDevice) { } + + [Test] + [Category(UITestCategories.FlyoutPage)] + public void FlyoutIconShouldBeCorrectlyPositioned() + { + App.WaitForElement("ShowRightToLeft"); + App.Click("ShowRightToLeft"); + VerifyScreenshot(); + } + } +} \ No newline at end of file From d737208f4ccaf51c5ca285dbc75fe70786816a1a Mon Sep 17 00:00:00 2001 From: Jakub Florkowski Date: Fri, 20 Dec 2024 18:10:15 +0100 Subject: [PATCH 2/2] Added snapshots --- .../FlyoutIconShouldBeCorrectlyPositioned.png | Bin 0 -> 21200 bytes .../FlyoutIconShouldBeCorrectlyPositioned.png | Bin 0 -> 45929 bytes .../FlyoutIconShouldBeCorrectlyPositioned.png | Bin 0 -> 7480 bytes .../FlyoutIconShouldBeCorrectlyPositioned.png | Bin 0 -> 23455 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/Controls/tests/TestCases.Android.Tests/snapshots/android/FlyoutIconShouldBeCorrectlyPositioned.png create mode 100644 src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/FlyoutIconShouldBeCorrectlyPositioned.png create mode 100644 src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/FlyoutIconShouldBeCorrectlyPositioned.png create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/FlyoutIconShouldBeCorrectlyPositioned.png diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/FlyoutIconShouldBeCorrectlyPositioned.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/FlyoutIconShouldBeCorrectlyPositioned.png new file mode 100644 index 0000000000000000000000000000000000000000..63fadbb6136c53b0169592838cd65d8906597b62 GIT binary patch literal 21200 zcmeHvXH=6}*LECd;3Wm`PTd6{lRjD8*;aE_SyTouD$nJ z#-FpZ65n-r7YqgyxBkQYJPh`u0SvZ-{;wV2n@pR58{qIW`j7LrFj(Yq80^+xFxUq8 z>ee(2hSP$PR&C~ zGj~qGU=C&0=D%GCAD$nLi1zT#;Bl~P$8A66&UmWaacV z2C)sfE49k0GNt@?hTV>Oto*!#KY+3PT)uREA2`A;yX=$)hhHO8Y{jcy!ncFpn>7M| z5(CG3&ziS^!wcn`;3sV6KiB=Rb?Se}8lK+ykS&|Pg_NKqF,)o2TEr?XEDDSa)m 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 literal 0 HcmV?d00001 diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/FlyoutIconShouldBeCorrectlyPositioned.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/FlyoutIconShouldBeCorrectlyPositioned.png new file mode 100644 index 0000000000000000000000000000000000000000..45dd52d3f5ebc5f1988365982afdef57fad33c80 GIT binary patch literal 7480 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 DXaHm& literal 0 HcmV?d00001